【发布时间】:2017-04-13 12:13:19
【问题描述】:
我必须反序列化 JSON 响应(来自 wep API)。问题是这个 API 返回带有动态属性的 JSON。如果是这样的
{
"employees":
[{
"employeeCode": "ABC",
"cityId": 123
},{
"employeeCode": "DEF",
"cityId": 234
}]
}
它本来是完美的,但响应是字符串并且返回如下:
var response = @"{"ABC": 123, "DEF": 234}";
第一个属性是“EmployeeCode”,第二个属性是“CityId”。如何使用 JSON.Net 将其序列化为以下类?
public class Employees
{
public string employeeCode {get; set;}
public string cityId {get; set;}
}
【问题讨论】:
-
我也不会称其为“动态属性”,因为它不像stackoverflow.com/questions/2690623/…,而是没有传递属性名称......
-
@stuartd 我实际上必须获取所有的employeeCodes 以及他们的cityId。我不确定如何将上述字符串反序列化为同一个类(RootObject)
-
我认为这个答案更接近How can I deserialize JSON to a simple Dictionary<string,string> in ASP.NET? 这样做之后,您可以使用 LINQ 将其映射到您的对象。