我正在使用Newtosoft Json.NET库来反序列化对对象的API响应。但我需要用部分更新来更新已经反序列化的对象(例如,只更改了属性的JSON containig)。
例如:
我有一个人物模型(当然是简化的):
public class PersonModel
{
public string Name { get; set; }
public string Surname{ get; set; }
public int Age { get; set; }
}
以及从JSON数据反序列化的Person实例:
{
"name": "John",
"surname": "Newton",
"age": 20
}
然后我得到了带有更改的JSON:
{
"age": 21
}
我需要用这个JSON更新我的实例(所以我的实例的age属性只会更新为值21)
有简单的方法吗?
根据这个问题:如何使用NewtonSoft 更新JSON对象的属性
您可以使用属性作为密钥来访问对象:
string jsonInstance = "{
"name": "John",
"surname": "Newton",
"age": 20
}";
string jsonEdit = "{
"age": 21
}";
JObject instance = JObject.Parse(jsonInstance);
JObject edit = JObject.Parse(jsonEdit);
instance["age"] = edit["age"];