我知道有很多类似的问题,但没有一个相同。 我有一个非常复杂的json树:
"items": [
{
"slug": "level_1",
"items": [
{
"slug": "level_1_1"
},
{
"slug": "level_1_2",
"items": [
{
"slug": "level_1_2_1",
},
{
"slug": "level_1_2_2"
}
]
}
]},
{
"slug": "level_2"
}
]
我需要一个函数来删除/删除“slug”值的json元素。可能吗? 我尝试了一切没有成功的事情。我可以使用javascript / jQuery。
答案 0 :(得分:2)
递归处理树:你想要一个由递归处理的元素组成的列表,对于不的每个元素都有一个匹配的'slug'值。递归处理包括创建一个新对象,原始的slug和一个'items'列表通过递归调用函数进行过滤。
类似的东西:
function my_filter(json_array, slug_to_remove) {
return $.map(json_array, function(element) {
return (element.slug == slug_to_remove) ? null : {
slug: element.slug, items: my_filter(element.items, slug_to_remove)
};
});
}