2014-02-22 47 views
2

我有這樣一個JSON數據刪除重複值:從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" 
} 

它是如何可能

回答

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); 
+1

由於它的工作。 – maverickosama92

1

你可以從ST JSON對象集合環使用JSON.parse( 「jsonstring」),在其中您可以遍歷並獲得非重複的項目

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

$.each(objColl, function(index, value) { 
    if ($.inArray(value.category, categories)==-1) { 
     categories.push(value.category); 
    } 
});