在.NET中使用部分JSON更新反序列化对象



我正在使用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"];

相关内容

  • 没有找到相关文章

最新更新