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