簡體   English   中英

如何在 node.js 中訪問 JSON object 的動態鍵值?

[英]How to access dynamic key values of a JSON object in node.js?

我在檢索 JSON 數據時遇到問題。

這里我得到了帶有動態鍵的 JSON。 我需要訪問該動態鍵的值。 動態密鑰來自 URL 並且正在從數據庫中獲取該密鑰的數據。

這是我的示例數據。

let roleData = [
  {
    "assetCategory": {
       "canCreate": false,
       "canView": false,
       "canUpdate": false,
       "canDelete": false,
       "isMenu": false,
       "parent": "settings"
     }
  }
]

在上面的 JSON 中,我有assetCategory object。 但是這個值是完全動態的。 我也可能會得到其他值來代替assetCategory 所以在不知道這個密鑰的情況下,我很難訪問數據。

有什么方法可以訪問這個動態 object?

您應該使用Object.keys(...)https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

例如:

const a = [
  {
    "assetCategory": {
       "canCreate": false,
       "canView": false,
       "canUpdate": false,
       "canDelete": false,
       "isMenu": false,
       "parent": "settings"
     }
  }
];

const name = Object.keys(a[0])[0]; // --> "assetCategory"
console.log(a[0][name]) // --> {"canCreate": false, ...}

 let data = [ { "assetCategory": { "canCreate": false, "canView": false, "canUpdate": false, "canDelete": false, "isMenu": false, "parent": "settings" } } ] let unknownNames = data.map( item => Object.keys(item)) // returns ['assetCategory'] //Returns array of all the unknown names console.log(unknownNames);

您可以通過Object.keys(data[0].assetCategory)獲取所有密鑰。 然后data[0].assetCategory[varWithKeyValue]或者如果它是動態data[0].assetCategory['can' + 'Create']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM