Если вы делаете это в javascript, прежде чем c # будет работать с множеством, тогда
Вы можете использовать underscore.js. Я не включаю никакую проверку, чтобы видеть, идентичен ли идентификатор, поэтому, если это может иметь место, это должно быть добавлено
var objects = [
{
"id" : 1,
"firstName" : "John"
},
{
"id" : 1,
"firstName" : "John",
"lastName" : "Dow",
"phone" : "555-555-5555"
},
{
"id" : 1,
"phone" : "(555) 555-555"
},
{
"id" : 1,
"position" : "Peon"
}];
var merged = _.reduce(objects, function(sum, value){ return _.extend(sum, value); }, {});
gives
{
"id":1,
"firstName":"John",
"lastName":"Dow",
"phone":"(555) 555-555",
"position":"Peon"
}