我有以下JSON对象:
var json = {"tsn": {
"settings":
{"app_name": "TSN", "version": "1.0"},
"occurrences":
["Party", "Music"]
}
};
我真的不明白为什么我不能像这样访问它的值:
json.tsn.forEach(function(item){
console.log(item.settings.app_name);
console.log(item.occurrences);
});
我懂了json.tsn.forEach is not a function
。
forEach
是可用于数组的方法;对于非数组对象不存在。
实际上,您不需要迭代您所做的事情。只需执行以下操作:
var item = json.tsn;
console.log(item.settings.app_name);
console.log(item.occurrences);
或者,您可以使用Object.keys
获取一个键数组,然后可以像这样继续:
Object.keys(json.tsn).forEach(function(key){
var item = json.tsn[key];
console.log(item);
});
甚至Object.entries
获得键/值对:
Object.entries(json.tsn).forEach(function([key, item]){
console.log(key, item);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句