Наложение данных из строки JSON на существующий экземпляр объекта

Я хочу десериализовать строку JSON, которая не обязательно содержит данные для каждого члена, например:

public class MyStructure
{
   public string Field1;
   public string Field2;
}

Предположим, у меня есть экземпляр:

Field1: "data1"
Field2: "data2"

, и я десериализую строку:

{"Field1": "newdata1"}

Результат должен быть

Field1: "newdata1"
Field2: "data2"

Framework JavascriptSerializer и JSON.NET оба возвращают новые объекты в своих методах десериализации, поэтому единственный способ, которым я могу думать о том, чтобы сделать это напрямую, - это сравнить десериализованный объект с существующим с использованием отражения, которое выглядит как много ненужных накладных расходов. В идеале у некоторого программного обеспечения был бы метод, в котором я передавал существующий экземпляр объекта, и обновлялись бы только те члены, которые существовали в строке. Дело в том, что я хотел бы иметь возможность передавать на сервер только те данные, которые были изменены, и обновлять существующий объект.

Возможно ли это с помощью любого из этих инструментов, и если нет, то какие-либо предложения о том, как подойти к делу проблема?

45
задан Jamie Treworgy 1 March 2011 в 18:28
поделиться