3

I have a json data like this:

{
  "_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" 
}

From this I have to remove one duplicate entry with id:27, the same as case id:23 my resulting json looks as follows:

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

how it is possible

JulianHarty
  • 3,178
  • 3
  • 32
  • 46
Sush
  • 1,449
  • 8
  • 26
  • 51

2 Answers2

7

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);
Tushar Gupta - curioustushar
  • 58,085
  • 24
  • 103
  • 107
1

You can get the object collection from JSON string using JSON.parse("jsonstring") in which you can iterate and get the non duplicate items

var objColl = JSON.parse("JSON string");
var categories = [];

$.each(objColl, function(index, value) {
    if ($.inArray(value.category, categories)==-1) {
        categories.push(value.category);
    }
});
Sridhar Narasimhan
  • 2,643
  • 2
  • 17
  • 25