JSON反序列化:多个对象中
问题描述:
我的示例代码,即做工精细。JSON反序列化:多个对象中
public class Employee
{
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
private void JSONDeserilaize()
{
string json = @"{
'ID': '1',
'Name': 'Manas',
'Address': 'India'
}";
Employee empObj = JsonConvert.DeserializeObject<Employee>(json);
Response.Write(empObj.Name);
}
但我的json字符串是这种格式。
string json = @"{"ID": "1","Name": "Manas","Address": "India","data":{"EmpDeptId":"20172807"}}";
如何用ID,姓名和地址一起取EmpDeptId。
答
声明另一类为反序列化到对象,然后将其添加作为原始类的成员:
public class Employee
{
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public EmployeeData Data { get; set; }
}
public class EmployeeData
{
public string EmpDeptId {get; set; }
}
应该然后反序列化为data
相应。
如果你想Employee.EmpDeptId然后添加一行 公共字符串EmpDeptId {{返回this.Data.EmpDeptId; set {this.Data.EmptDeptId = value; }}员工类 – IamSilviu
@IamSilviu你为什么要那样做?这已经是'Data',你则只是在重复自己的对象图的属性(它也可以被序列化回JSON)。 OP可以执行'employee.Data.EmptDeptId'来获取值。 – Lloyd
@ Lioyd,谢谢你的帮助。它对我很好。 –