如何通过键值删除目标json?

时间:2014-10-20 05:25:17

标签: javascript json object

[对象,对象,对象,对象]

Object{
       id:33,
       val:'a'
      },
Object{
       id:56,
       val:'b'
      },
Object{
       id:77,
       val:'a'
      },
Object{
       id:89,
       val:'d'
      }

现在我要删除id = 56

的对象

我怎么能用js做到这一点?

我想要的结果。

[对象,对象,对象]

Object{
       id:33,
       val:'a'
      },
Object{
       id:77,
       val:'a'
      },
Object{
       id:89,
       val:'d'
      }

感谢。

1 个答案:

答案 0 :(得分:0)

如何使用删除?请注意,索引订单不会被保留。

var text = '{"objects" : [{ "id":33, "val":"a"}, { "id":56, "val":"b"}, { "id":77, "val":"c"}, { "id":89, "val":"d"}]}';
var jsonData = JSON.parse(text);
for (var i = 0; i < jsonData.objects.length; i++) {
    var object = jsonData.objects[i];
    if(object.id == 56) {
        delete jsonData.objects[i];
    }
}

如果您想预先获得索引顺序,请使用以下代码。

var text = '{"objects" : [{ "id":33, "val":"a"}, { "id":56, "val":"b"}, { "id":77, "val":"c"}, { "id":89, "val":"d"}]}';
var jsonData = JSON.parse(text);
for (var i = 0; i < jsonData.objects.length; i++) {
    var object = jsonData.objects[i];
    if(object.id == 56) {
        jsonData.objects.splice(i, 1);
    }
}