我有一个以这种格式返回 JSON 的 Web 服务:
[{
"Route0": {
"RouteID": "AAA",
"RouteDescription": "",
"ReturnCode": "0",
"ReturnError": ""
}
}, {
"Route1": {
"RouteID": "AABCLO",
"RouteDescription": "Antoine Abdo Bachaalani Close",
"ReturnCode": "0",
"ReturnError": ""
}
}]
我需要反序列化它: 我创建了 2 个类:
public class PullRouteDetailsObjectChild
{
public string RouteID { get; set; }
public string RouteDescription { get; set; }
public string ReturnCode { get; set; }
public string ReturnError { get; set; }
}
public class PullRouteDetailsObject
{
public PullRouteDetailsObjectChild Route { get; set; }
}
我正在使用此代码进行反序列化:
List<PullRouteDetailsObject> jsonRoutes =
JsonConvert.DeserializeObject<List<PullRouteDetailsObject>>(jsonresult);
我能够获得 2 个 PullRouteDetailsObject 的列表,这是正确的,但子对象始终为空。 我确信我错过了一些东西,但找不到什么。我需要访问子对象
谢谢您的帮助。
你需要使用这个:
var jsonRoutes = JsonConvert.DeserializeObject<List<Dictionary<string, PullRouteDetailsObject>>>(jsonresult);
当您获取具有 property 的对象列表时,其中包含您的“PullRouteDetailsObject”(Route0、Route1)。