Javascript 在PHP/codeigniter中从JSON数组中删除子元素
我在json数组下面,我想删除子节点“n”:[]-当它为空时。(菲律宾) 输入:Javascript 在PHP/codeigniter中从JSON数组中删除子元素,javascript,php,jquery,json,codeigniter,Javascript,Php,Jquery,Json,Codeigniter,我在json数组下面,我想删除子节点“n”:[]-当它为空时。(菲律宾) 输入: [ { "level": 1, "id": "101", "n": [ { "level": 2, "id": "102", "n": [ ] } ] }, { "level": 1, "id": "103", "n": [ { "
[
{
"level": 1,
"id": "101",
"n": [
{
"level": 2,
"id": "102",
"n": [
]
}
]
},
{
"level": 1,
"id": "103",
"n": [
{
"level": 2,
"id": "104",
"n": [
]
},
{
"level": 2,
"id": "105",
"n": [
{
"level": 3,
"id": "106",
"n": [
]
},
{
"level": 3,
"id": "107",
"n": [
{
"level": 4,
"id": "108",
"n": [
{
"level": 5,
"id": "109",
"n": [
]
}
]
}
]
}
]
}
]
},
{
"level": 1,
"id": "110",
"n": [
{
"level": 2,
"id": "111",
"n": [
{
"level": 3,
"id": "112",
"n": [
]
}
]
},
{
"level": 2,
"id": "113",
"n": [
{
"level": 3,
"id": "114",
"n": [
{
"level": 4,
"id": "115",
"n": [
]
}
]
},
{
"level": 3,
"id": "116",
"n": [
{
"level": 4,
"id": "117",
"n": [
]
},
{
"level": 4,
"id": "118",
"n": [
{
"level": 5,
"id": "119",
"n": [
]
},
{
"level": 5,
"id": "120",
"n": [
]
}
]
}
]
}
]
}
]
}
]
输出:
[
{
"level": 1,
"id": "101",
"n": [
{
"level": 2,
"id": "102"
}
]
},
{
"level": 1,
"id": "103",
"n": [
{
"level": 2,
"id": "104"
},
{
"level": 2,
"id": "105",
"n": [
{
"level": 3,
"id": "106"
},
{
"level": 3,
"id": "107",
"n": [
{
"level": 4,
"id": "108",
"n": [
{
"level": 5,
"id": "109"
}
]
}
]
}
]
}
]
},
{
"level": 1,
"id": "110",
"n": [
{
"level": 2,
"id": "111",
"n": [
{
"level": 3,
"id": "112"
}
]
},
{
"level": 2,
"id": "113",
"n": [
{
"level": 3,
"id": "114",
"n": [
{
"level": 4,
"id": "115"
}
]
},
{
"level": 3,
"id": "116",
"n": [
{
"level": 4,
"id": "117"
},
{
"level": 4,
"id": "118",
"n": [
{
"level": 5,
"id": "119"
},
{
"level": 5,
"id": "120"
}
]
}
]
}
]
}
]
}
]
从json数组中删除所有“n”:[]。
请使用一些PHP代码帮助我从上述输入中获取输出。使用递归,递归地查找具有值
[]
的属性n
,并删除它们:
函数removemptynode(节点){
如果(!nodes | | nodes.length==0)
回来
forEach(函数(节点){
if(node.n.length==0){
删除节点n;
}否则{
removemptynode(node.n);
}
});
}
风险值数据=[{
"一级",,
“id”:“101”,
“n”:[{
“级别”:2,
“id”:“102”,
“n”:[]
}]
}, {
"一级",,
“id”:“103”,
“n”:[{
“级别”:2,
“id”:“104”,
“n”:[]
}, {
“级别”:2,
“id”:“105”,
“n”:[{
"三级",,
“id”:“106”,
“n”:[]
}, {
"三级",,
“id”:“107”,
“n”:[{
“级别”:4,
“id”:“108”,
“n”:[{
“级别”:5,
“id”:“109”,
“n”:[]
}]
}]
}]
}]
}, {
"一级",,
“id”:“110”,
“n”:[{
“级别”:2,
“id”:“111”,
“n”:[{
"三级",,
“id”:“112”,
“n”:[]
}]
}, {
“级别”:2,
“id”:“113”,
“n”:[{
"三级",,
“id”:“114”,
“n”:[{
“级别”:4,
“id”:“115”,
“n”:[]
}]
}, {
"三级",,
“id”:“116”,
“n”:[{
“级别”:4,
“id”:“117”,
“n”:[]
}, {
“级别”:4,
“id”:“118”,
“n”:[{
“级别”:5,
“id”:“119”,
“n”:[]
}, {
“级别”:5,
“id”:“120”,
“n”:[]
}]
}]
}]
}]
}];
removemptynode(数据);
控制台日志(数据)代码>请小心设置格式。坦白说,这真是一团糟。另外,如果您想使用PHP实现您想要的功能,请不要标记其他无关的语言,例如jQuery和jswelly edited@rorymcrossan。--这不是一个递归遍历对象并删除空n
数组的问题吗?到目前为止,您尝试了什么?您想在PHP或javascript中实现这一点吗?在你的代码中有javascript对象。@abhishekkannojia:我想要PHP中的这个。但是我从js.plz获得了输入,用PHP制作。