无法访问嵌套的JSON对象属性

时间:2019-08-15 21:05:45

标签: javascript ecmascript-6

console.log(data);返回:

duration: 60
location::
  city: "New York"
  state: "New York"

但是console.log(data.location);返回Undefined

那怎么可能?为什么不能访问嵌套对象?双重冒号在这里表示什么?

enter image description here

2 个答案:

答案 0 :(得分:6)

属性“ location”实际上是JSON中的“ location:”。

如果在编写对象属性时引用该对象属性(或更正数据或解析以确保其为有效的JSON),则该对象属性应能按预期工作。

data["location:"]

或者,通过更正数据:

{
    "duration": 60,
    "location": {
        "city": "New York",
        "state": "New York"
    }
}

答案 1 :(得分:3)

代替data.location尝试data["location:"]

let data = {
  "duration": 60,
  "location:": {
    "city": "New York",
    "state": "New York",
  },
}

console.log(data["location:"]);