我有一个JSON数据,如下所示
{
"id": "0001",
"fieldName": "sample1",
"fieldValue" "0001",
"subList": [
{
"id": 1001,
"fieldName": "Sample Child 1",
"fieldValue": "1001",
"subList": []
},{
"id": 1002,
"fieldName": "Sample Child 2",
"fieldValue": "1002",
"subList": []
}
]
}
现在我想搜索数据中的对象
答案 0 :(得分:0)
假设搜索对象只包含一个属性:
function search(s, o) {
var k = Object.keys(s)[0], r;
if (o[k] === s[k]) {
return o;
}
o.subList.some(function (a) {
r = search(s, a);
return r;
});
return r;
}
var obj = { "id": "0001", "fieldName": "sample1", "fieldValue": "0001", "subList": [{ "id": 1001, "fieldName": "Sample Child 1", "fieldValue": "1001", "subList": [] }, { "id": 1002, "fieldName": "Sample Child 2", "fieldValue": "1002", "subList": [] }] };
document.write('<pre>' + JSON.stringify(search({ id: '0001' }, obj), 0, 4) + '</pre>');
document.write('<pre>' + JSON.stringify(search({ id: 1001 }, obj), 0, 4) + '</pre>');