传入JSON:
jsonInput = "{ 'FNAME': 'John'; 'LNAME': 'Doe', 'CITY': 'Vancuver'}";
我需要与Person类的强类型对象集成:
class Person
{
public string FNAME { get; set; }
public string LNAME { get; set; }
public string CITY { get; set; }
public string COUNTRY { get; set; }
}
首先创建Person对象 (在现实生活中来自DB,但在这里我只是硬编码):
var person = new Person { CITY = 'Toronto', COUNTRY = 'Canada'};
如何将 jsonInput 集成(合并)到人以拥有完整的Person对象。 JSON数据应该仅为匹配的属性覆盖Person对象
因此,我首先将JSON jsonInput 反序列化为动态对象
var obj = JsonConvert.DeserializeObject(jsonInput);
所以,现在我已经部分填充了 obj 对象(类型为 JObject )和部分填充的 person 对象(类型为人)。
如何在一个命令中将它们合并到 person 对象中。 或者可能有另一种方法将 jsonInput 直接反序列化为 person ??
结果应为:
person.FNAME = 'John'
person.LNAME = 'Doe'
person.CITY = 'Vancuver'
person.COUNTRY = 'CANADA'
我想要避免的是循环属性。 谢谢你的任何建议。
答案 0 :(得分:3)
使用PopulateObject方法
JsonConvert.PopulateObject(jsonInput,person);
答案 1 :(得分:0)
假设您将json作为参数...
cron
未经测试但希望有所帮助