xamarin c# 反序列化包含嵌套对象的 JSON

问题描述 投票:0回答:1

我有一个以这种格式返回 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 的列表,这是正确的,但子对象始终为空。 我确信我错过了一些东西,但找不到什么。我需要访问子对象

谢谢您的帮助。

c# json serialization xamarin.android
1个回答
1
投票

你需要使用这个:

var jsonRoutes = JsonConvert.DeserializeObject<List<Dictionary<string, PullRouteDetailsObject>>>(jsonresult);

当您获取具有 property 的对象列表时,其中包含您的“PullRouteDetailsObject”(Route0、Route1)。

© www.soinside.com 2019 - 2024. All rights reserved.