在访问此JSON对象时,我无法弄清楚我做错了什么:
{ Items:
[ { mId: 'who' },
{ mId: 'am' },
{ mId: 'I' } ],
Count: 3,
ScannedCount: 3 }
{ Items:
[ { cId: 'big' },
{ cId: 'scary' },
{ cId: 'muppet' } ],
Count: 3,
ScannedCount: 3 }
这是我从函数中获取的对象,我正在尝试访问各个项目以更新其值。
当我想打印'who'时,我这样做:
console.log(obj.Items[0].mId)
现在我希望得到'谁'回来,但这就是打印:
undefined
who
那个'未定义'总是标记着。我在这里做错了什么?
此外,如果我尝试通过执行某处更改值:
obj.Items[0].mId = 'x'
发生这种情况:
{ Items:
[ { mId: 'x' },
{ mId: 'am' },
{ mId: 'I' } ],
Count: 3,
ScannedCount: 3 }
{ Items:
[ { cId: 'big', mId: 'x' },
{ cId: 'scary' },
{ cId: 'muppet' } ],
Count: 3,
ScannedCount: 3 }
这不是我想要的......我不明白如何只访问第一个'项目'。好像我正在访问这两个。
非常感谢任何帮助或建议。我可能不需要说我不习惯使用JSON。
答案 0 :(得分:0)
对于未定义的问题,请在此处查看答案:What does it mean if console.log(4) outputs undefined in Chrome Console?但TL; DR您只是看到未定义的'从console.log()返回,因为它没有返回值。一旦你不在控制台中工作,它就不应该成为一个问题。
至于你有两个叫做obj的独立对象,我不明白,正如其他人在评论中所说,请发布完整的代码,以便我们可以看到如何使用/生成它。
另外,为了澄清它,您似乎正在使用JavaScript对象,而不是JSON,类似但不一样。