我有这些数据:
{
"id":"01",
"new":0,
"closed":0,
"locked":0,
"subhere":[
{
"id":"123",
"subname":"somename"
}
...等...
在控制台日志中,我要显示它(请参阅注释):
console.log('Level 1 ID: ' + obj.id); //This works!
console.log('Level 1 Closed ' + obj.closed); //This works!
console.log('Level 1 Locked ' + obj.locked); //This works!
console.log('Level 2 Subhere ID ' + obj.subhere.id); //This returns Undefined!
最后一个console.log给了我Undefined但是我没看到问题是什么......为什么?
关于为什么我在最后一个上获得未定义的任何想法?
答案 0 :(得分:6)
subhere
是一个数组 - 您将其称为对象。
因此它应该是:
console.log(obj.subhere[0].id);
答案 1 :(得分:5)
由于obj.subhere
是一个数组,因此obj.subhere.id
将是undefined
。你需要首先得到数组元素作为对象。
console.log('Level 2 Subhere ID ' + obj.subhere[0].id)
//---------------------------------------------^^^----
var obj = {
"id": "01",
"new": 0,
"closed": 0,
"locked": 0,
"subhere": [{
"id": "123",
"subname": "somename"
}]
};
console.log('Level 2 Subhere ID ' + obj.subhere[0].id)
答案 2 :(得分:0)
你应该使用这个
console.log('Level 2 Subhere ID ' + obj.subhere[0].id);