我有一个非常复杂的JSON,它的片段如下:
var designerJSON=
{
"nodes":
[
{
"NodeDefinition": {
"name": "Start",
"thumbnail": "Start.png",
"icon": "Start.png",
"info": "Entry point ",
"help": "Start point in your workflow.",
"workflow ": "Start",
"category": "Basic",
"ui": [
{
"label": "Entry point",
"category": "Help",
"componet": "label",
"type": "label"
}
]
},
"States": [
{
"start": "node1"
}
]
},.......
]
}
我想在各州获得“开始”的价值。但我陷入了进入JSON的第一步。当我尝试
console.log(designerJSON["nodes"]);
我得到了Undefined
。
我想要start
的值。这是designerJSON["nodes"]["States"]["start"]
。
提前致谢
答案 0 :(得分:0)
designerJSON["nodes"]["States"]["start"]
不会这样做。
designerJSON["nodes"]
是一个列表,States
也是如此,因此您需要按索引(或迭代)访问单个项目。
在您给出的示例中,您需要使用它:
designerJSON['nodes'][0]['States'][0]['start']
或者这个(更清洁的IMO):
designerJSON.nodes[0].States[0].start
答案 1 :(得分:-1)
你有一个JSON数组。 而不是
designerJSON["nodes"]["States"]["start"]
使用
designerJSON["nodes"][0]["States"][0]["start"]
PS。注意如何在主题中格式化代码。
PPS。使用括号来访问js中的属性是“坏样式”(由于js提示建议)。通过点更好地访问那些,例如:
designerJSON.nodes[0].States[0].start