C # Объединить объекты JSON - PullRequest
1 голос
/ 04 апреля 2011

У меня есть несколько экземпляров объектов JSON, в которых отсутствует или обновлена ​​информация.Мне нужен способ взять все объекты JSON и объединить их в одну запись в C # (.net 3.5).Если поле уже существует, я хочу сохранить последнее.

Например, если бы у меня были все эти объекты соответственно:

{
    "id" : 1,
    "firstName" : "John",
}
{
    "id" : 1,
    "firstName" : "John",
    "lastName" : "Dow",
    "phone" : "555-555-5555"
}
{
    "id" : 1,
    "phone" : "(555) 555-555"
}
    "id" : 1,
    "position" : "Peon"
}

Я бы хотел, чтобы результирующий объект был равен:

{
    "id" : 1,
    "firstName" : "John",
    "lastName" : "Dow",
    "phone" : "(555) 555-555"
    "position" : "Peon"
}

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 04 апреля 2011

Если вы делаете это в 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"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...