我如何在json对象中删除一个json对象?
[
[
{"name":"formtype","value":"ordering"},
{"name":"extera_Ordering_json[id]","value":"1"}
],
[
{"name":"extera_Ordering_json[count]","value":"20"},
{"name":"coupon","value":""},
{"name":"formtype","value":"ordering"},
{"name":"extera_Ordering_json[id]","value":"2"}
],
[
{"name":"extera_Ordering_json[count]","value":"7"},
{"name":"coupon","value":"1"},
{"name":"formtype","value":"ordering"},
{"name":"extera_Ordering_json[id]","value":"3"}
],
[ {"name":"extera_Ordering_json[count]","value":"1"},
{"name":"coupon","value":"1"},
{"name":"formtype","value":"ordering"},
{"name":"extera_Ordering_json[id]","value":"4"}
]
]
我将此json保存在ordering
中
现在我想删除
[ {"name":"extera_Ordering_json[count]","value":"1"},
{"name":"coupon","value":"1"},
{"name":"formtype","value":"ordering"},
{"name":"extera_Ordering_json[id]","value":"4"}
]
我的密钥是extera_Ordering_json[id]
(它不是唯一的)
我这样做:
ordering = JSON.parse(ordering);
var temp;
$.each(ordering, function(idx, obj)
{
if(obj.Ordering_json[id] != 4)// not works
{
temp[] = obj;
}
temp[] = obj
}
ordering = JSON.stringify(temp);
6条答案
按热度按时间oyt4ldly1#
"extera_Ordering_json[id]"
只是一个字符串,因此您需要迭代每个数组中的所有对象,并找到将该字符串作为name
的数组,然后检查同一对象的value
这是一种Map和过滤器方法
gopyfrb32#
您可以在JSON数组上使用
splice
方法来移除特定索引处的元素:ssgvzors3#
在您示例中,
extera_Ordering_json[id]
不是键,它是name
的值第一个
n3ipq98p4#
这应该可以完成您想要的任务:
mi7gmzs65#
您正在使用id而不是idx。请尝试以下操作
3wabscal6#
可以使用拼接方法