【问题标题】:remove duplicate values from json data [duplicate]从json数据中删除重复值[重复]
【发布时间】:2014-02-22 07:14:04
【问题描述】:

我有一个这样的 json 数据:

{
  "_id": ObjectId("5306e7fd80b1027ad2653db4"),
  "testada": "ecom",
  "id": "27" 

} {
  "_id": ObjectId("5306e81880b1027ad2653db5"),
  "testada": "alorta",
  "id": "27" 
} {
  "_id": ObjectId("5306e81880b1027ad2653db6"),
  "testada": "france24",
  "id": "23" 
}
{
  "_id": ObjectId("5306e81880b1027ad2653db6"),
  "testada": "seloger",
  "id": "23" 
}

从此我必须删除一个带有id:27 的重复条目,与id:23 相同 我生成的json 如下所示:

{
  "_id": ObjectId("5306e81880b1027ad2653db5"),
  "testada": "alorta",
  "id": "27" 
} {
  "_id": ObjectId("5306e81880b1027ad2653db6"),
  "testada": "france24",
  "id": "23" 
}

怎么可能

【问题讨论】:

    标签: jquery json


    【解决方案1】:

    Fiddle Demo

    var arr = [], //to collect id values 
        collection = []; //collect unique object
    
    $.each(json_all, function (index, value) {
        if ($.inArray(value.id, arr) == -1) { //check if id value not exits than add it
            arr.push(value.id);//push id value in arr
            collection.push(value); //put object in collection to access it's all values
        }
    });
    console.log(collection); //you can access it values like collection[index].keyName
    console.log(arr);
    

    【讨论】:

      【解决方案2】:

      您可以使用 JSON.parse("jsonstring") 从 JSON 字符串中获取对象集合,您可以在其中迭代并获取非重复项

      var objColl = JSON.parse("JSON string");
      var categories = [];
      
      $.each(objColl, function(index, value) {
          if ($.inArray(value.category, categories)==-1) {
              categories.push(value.category);
          }
      });
      

      【讨论】:

        猜你喜欢
        • 2013-06-09
        • 1970-01-01
        • 1970-01-01
        • 2019-06-21
        • 2018-07-15
        • 2021-07-29
        • 2021-04-02
        相关资源
        最近更新 更多