访问JSON对象中的特定值

Accessing specific values in JSON object

本文关键字:JSON 对象 访问      更新时间:2023-09-26

我不知道访问这个JSON对象时做错了什么:

{ Items: 
   [ { mId: 'who' },
     { mId: 'am' },
     { mId: 'I' } ],
  Count: 3,
  ScannedCount: 3 }
{ Items: 
   [ { cId: 'big' },
     { cId: 'scary' },
     { cId: 'muppet' } ],
  Count: 3,
  ScannedCount: 3 }

这是我从函数中得到的对象,我正试图访问各个项以更新它们的值。

例如,当我想打印"谁"时,我会这样做:

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。

对于未定义的问题,请在这里看到答案:如果console.log(4)在Chrome控制台中输出未定义的内容,这意味着什么?但TL;DR您看到的只是console.log()返回的"undefined",因为它没有返回值。一旦你不在控制台中工作,这就不应该成为问题。

至于你如何有两个单独的对象都被称为obj,我不明白,正如其他人在评论中所说,请发布完整的代码,这样我们就可以看到它是如何使用/生成的。

同样为了澄清,看起来您使用的是JavaScript对象,而不是JSON,类似但不相同。