Я хочу десериализовать строку JSON, которая не обязательно содержит данные для каждого члена, например:
public class MyStructure
{
public string Field1;
public string Field2;
}
Предположим, у меня есть экземпляр:
Field1: "data1"
Field2: "data2"
, и я десериализую строку:
{"Field1": "newdata1"}
Результат должен быть
Field1: "newdata1"
Field2: "data2"
Framework JavascriptSerializer
и JSON.NET
оба возвращают новые объекты в своих методах десериализации, поэтому единственный способ, которым я могу думать о том, чтобы сделать это напрямую, - это сравнить десериализованный объект с существующим с использованием отражения, которое выглядит как много ненужных накладных расходов. В идеале у некоторого программного обеспечения был бы метод, в котором я передавал существующий экземпляр объекта, и обновлялись бы только те члены, которые существовали в строке. Дело в том, что я хотел бы иметь возможность передавать на сервер только те данные, которые были изменены, и обновлять существующий объект.
Возможно ли это с помощью любого из этих инструментов, и если нет, то какие-либо предложения о том, как подойти к делу проблема?