[英]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.