我有一个复杂的JSON对象,我想浏览这个JSON并为它们添加更多属性。
这是我的JSON对象示例。
Object {root: Object}
root: Object
entity_children: Array[1]
0: Object
entity_children: Array[1]
0: Object
entity_children: Array[10]
0: Object
1: Object
2: Object
3: Object
entity_id: "00145E5BB2641EE284F811A7907757A3"
entity_name: "Functional Areas"
entity_type: ""
.....
基本上,我有一个JSON对象,它具有属性“entity_id”,“entity_name”,“entity_type”和“entity_children”。
“entity_children”可能包含其中的对象列表。我怎样才能通过这个元素来探索每个元素。我已经尝试过hasOwnProperty('entity_children'),但它只通过了1级。
这是我的Raw JSON
{"root":
{"entity_id":"00145E5BB8C21EE286A007464A64508C",
"entity_name":"TP_GTPAPI_TEST_BASE_ACC",
"entity_type":"",
"entity_children":
[{"entity_id":"00145E5BB8C21EE286A007464A66508C",
"entity_name":"TEST_CATALOG_GTPAPI",
"entity_type":"",
"entity_children":
[{"entity_id":"00145E5BB8C21EE286A007464A66708C",
"entity_name":"Functional Areas",
"entity_type":"",
"entity_children":
[{"entity_id":"00145E5BB8C21EE286A007464A66908C",
......
请帮忙。
答案 0 :(得分:0)
如果我理解正确,你的对象中有子属性,它是同一类型对象的数组。这使它成为一个分层对象。您将需要迭代和递归才能正确地遍历所有对象。 看一下具有迭代和递归的以下代码。 var data = { 根: { a:“1”, b:“1”, c:“1”, d:[{ a:“1.1”, b:“1.1”, c:“1.1”, d:[{ a:“1.1.1”, b:“1.1.1”, c:“1.1.1”, d:[
{
a: "1.1.1.1",
b: "1.1.1.1",
c: "1.1.1.1",
d: "1.1.1.1"
}]
}]
}, {
a: "1.2",
b: "1.2",
c: "1.2",
d: "1.2"
},
]
}
};
function loop(obj) {
for (var i in obj) {
if (obj[i].d != null) {
loop(obj[i].d);
alert(obj[i].a);
}
}
}
function travel() {
loop(data.root.d);
}
请参阅JsFiddle