【发布时间】:2013-09-12 07:54:53
【问题描述】:
jSon = {
"id":"node1",
"name":"Languages",
"rel":"",
"children":1,
"step":1,
"path":1,
"nodes":[
{
"id":"node2",
"name":"Java",
"rel":"Pure Object Oriented Prog",
"children":1,
"step":2,
"path":2,
"nodes":[
{
"id":"node3",
"name":"C#",
"rel":"Framework",
"children":0,
"step":3,
"path":3,
"nodes":[]
},{
"id":"node4",
"name":"C++",
"rel":"OOPS",
"children":0,
"step":3,
"path":4,
"nodes":[]
}]
}]
};
对于上述结构,如何获取 id(key) = node3(value) 的路径
(即)jSon.nodes[0].nodes[1].id
这样我就可以推送新对象(即)jSon.nodes[0].nodes.push(newjSon);
或者有没有其他方法可以在这个结构的特定位置添加新对象... 请建议一些 javascript 代码.. 没有 jQuery
【问题讨论】:
-
你到底在问什么?您是在问如何访问特定节点并将其推送到其中,还是在问是否有任何方法可以简化推送到嵌套在对象中非常深的节点的过程?
-
@大卫。是的,我想将新节点推到特定位置...
-
您是否考虑过为您的对象编写一个函数来简化将节点推入其中的过程?这对于自动化代码如
JSon.nodes[0].nodes.push(newJSon);很有用 -
@David 你这么说,我应该改变 JSON 结构..
-
啊,是的,从头开始。这是个坏主意。但是,如果您想简化它,您仍然应该编写一个函数,该函数将采用
JSON.parse(JSon)并适当地推送。
标签: javascript json jsonpath