【问题标题】:How can I delete a target json by key value?如何通过键值删除目标 json?
【发布时间】:2014-10-20 05:25:17
【问题描述】:

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

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'
      }

谢谢。

【问题讨论】:

标签: javascript json object


【解决方案1】:

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

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);
    }
}

【讨论】:

    猜你喜欢
    • 2017-10-24
    • 2010-12-18
    • 2017-07-22
    • 2021-12-05
    • 1970-01-01
    • 2018-03-17
    • 2013-10-22
    • 1970-01-01
    • 2017-08-13
    相关资源
    最近更新 更多