jsonPath排除字段
问题描述:
我想获得整个对象,不包括template
字段,不管级别。 这是我的目标:jsonPath排除字段
{
sections:
[
{
name: "part1",
title: "Part I",
template: "Part I template",
children: [{
name: "1",
title: "part1.1",
template:"part1.1 template"
}, {
name: "2",
title: "part1.2",
template:"part1.2 template"
}]
},
{
name:"part2",
//...
}
]
}
我试图https://github.com/s3u/JSONPath和https://github.com/dchester/jsonpath我不能弄明白我怎么能做到这一点。
答
如果你想摆脱嵌套对象的特定字段,这可以帮助你。
var data = {
sections:
[
{
name: "part1",
title: "Part I",
template: "Part I template",
children: [{
name: "1",
title: "part1.1",
template: "part1.1 template"
}, {
name: "2",
title: "part1.2",
template: "part1.2 template"
}]
}
]
};
var remove_field = function (obj, field) {
for (var attr in obj) {
if (typeof obj[attr] === 'object' || typeof obj[attr] === 'array') {
for (var index in obj[attr]) {
remove_field(obj[attr][index],field);
}
}
else if(attr === field){
delete obj[attr];
}
}
return obj;
}
data_without_template = remove_field(data, 'template');
+0
我也有在明知解决这一问题假设答案是“jsonpath”符号给出的兴趣recurrsive方法,没有代码请: - ) –
+0
来吧伙计.. –
如果u想ü可以简单地使用,而不是使用jsonpath – kgangadhar