我有一个以这种格式返回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列表但是子对象始终为null。 我确信我错过了一些但却找不到的东西。我需要访问子对象 谢谢你的帮助。
答案 0 :(得分:1)
你需要改用它:
var jsonRoutes = JsonConvert.DeserializeObject<List<Dictionary<string, PullRouteDetailsObject>>>(jsonresult);
当您获得带有属性的对象列表时,其中包含您的&#39; PullRouteDetailsObject&#39; (Route0,Route1)。