Javascript 读取嵌套对象
我有一个目标:Javascript 读取嵌套对象,javascript,Javascript,我有一个目标: var body = { "LocationInfo": { "Stores": [ { "Number": 524, "Name": "Store" } ] } }; 但我无法读取对象内部的任何内容,例如: console.log(body[“LocationInfo”][“Stores”][0])未定义 这太基本了。。。我不确定出了什么问题。它确实按预期工作;undefined只是console
var body = {
"LocationInfo": {
"Stores": [
{
"Number": 524,
"Name": "Store"
}
]
}
};
但我无法读取对象内部的任何内容,例如:
console.log(body[“LocationInfo”][“Stores”][0])代码>未定义
这太基本了。。。我不确定出了什么问题。它确实按预期工作;undefined只是console.log
的返回值
来源:您的对象没有问题。您看到“未定义”的原因并不是因为您的对象错误或其中的某些内容未定义。只是控制台在console.log()之后追加了undefined;函数被调用。 有关更多信息,请参阅:
好的,我解决了我的问题:节点请求模块中有一个错误,它包装了双转义,所以我做到了:
body = JSON.parse(body);
body = JSON.parse(body);
连续两次成功了 它在我的控制台上工作<代码>对象{编号:524,名称:“存储”}已记录。此处相同<代码>变量x=主体[“位置信息”][“存储”][0]代码>。对于MEX,x不是未定义的。您将不得不显示更多的代码。你发布的代码运行良好。它为我们工作me@Juhana这是我试图阅读的完整JSON:为什么这是被否决的
console.log(“digitalsteez”)VM332:2 digitalsteez undefined
这与在控制台中运行jrbaldwinn的代码时发生的情况相同:console.log(body[“LocationInfo”][“Stores”][0]);VM343:2对象{Number:524,Name:“Store”}未定义
甚至有一个符号表示它是函数的返回值。如果确实在节点上运行此操作,我不确定发生了什么。这是我从节点上的代码中得到的:$Node test.js{Number:524,Name:'Store'}