我有以下有效的JSON。它描述了一个树形结构:嵌套JSON查找项目
{
"items": [
{
"id": "d1"
},
{
"id": "2",
"children": [
{
"id": "3"
},
{
"id": "4"
},
{
"id": "5",
"children": [
{
"id": "6"
},
{
"id": "7",
"children": [
{
"id": "8"
},
{
"id": "9"
}
]
},
{
"id": "10"
}
]
},
{
"id": "11"
},
{
"id": "12"
}
]
},
{
"id": "13"
},
{
"id": "14"
}
]
}
我需要能够通过id和任何子项获取任何“项目”。例如。起初,我试过的grep:
var returnedData = $.grep(obj.items, function(element, index){return element.id == "2";
});
这对项目工作很大ID为== 2,但完全失败,当我试图获得element.id ==“7”
任何援助将不胜感激。提前致谢。
由于在表面上,这看起来不错。需要在我的脚本中进行测试,但是非常感谢您的快速响应。 – user831839
@GolezTrol这真的很奇怪。对我来说工作很好:http://jsfiddle.net/rj26H/4/ –
@ArtemPetrosian不小心,但如果第6项会有孩子,那么你会看到你的提议打破了代码:http://jsfiddle.net/ rj26H/6 /如果递归调用不返回一个项目,让for循环继续(所以不要调用return)是很重要的。 – GolezTrol