【问题标题】:What is the correct way to access nested objects in JSON?在 JSON 中访问嵌套对象的正确方法是什么?
【发布时间】:2017-09-14 15:02:03
【问题描述】:

如果我理解正确的话,这段代码中的 list 是一个由 objects 组成的 array。我想访问主对象中的 temp 并认为 main.temp 可以解决问题,但我收到一条错误消息,指出它未定义。或者我试过list[1].main.temp。访问这样的嵌套数组的正确方法是什么?

【问题讨论】:

  • 第一个对象索引是0,不是1。
  • 我认为“dt:148...”在技术上位于 index[0]
  • 我不明白你的评论是什么意思。
  • dt, main 等是数组内对象的键。 "dt:148..." 不是数组的元素。

标签: javascript arrays json object


【解决方案1】:

访问这样的嵌套数组的正确方法是什么?

首先,这些不是嵌套数组,而是对象数组,在 array 中我们通过索引访问项目,在 objects 中我们通过键访问它们(条目)。

所以在你的情况下list[0]object,其中list[0].dt 是一个条目,list[0].mainobject 的另一个条目,所以dt 不像你提到的那样在索引0在您的评论中。

要访问所有数组main.temp 属性,您需要使用Array 内置方法之一或仅使用for loop 循环遍历array 元素,因为在list[1].main.temp 中使用静态索引将只需获取数组中第一个元素的temp 属性,如果此索引高于array.length,则可能会引发异常。

这应该是你的代码:

for(var i=0; i<list.length; i++){
    console.log(list[i].main.temp);
}

【讨论】:

    猜你喜欢
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 2012-11-25
    • 1970-01-01
    • 2020-09-03
    相关资源
    最近更新 更多