There is nothing built in for that...You must run a loop to check duplicates...
Here a sample for you to start with...
var json = [
{"text":"menu1","parent":"#","id":"128102"},
{"text":"menu1.1","parent":"128102","id":"128103"},
{"text":"menu1.1","parent":"128102","id":"128103"}
];
var ids = [];
var clean = [];
$.each(json, function(index, value) {
if($.inArray(value.id, ids) == -1)
{
ids.push(value.id);
clean.push(value);
}
});
The ids array is a helper to check for duplicates and contains only the unique ids from the original array, where clean will hold the actual array with no duplicates...