如何反序列化一个对象中的多个对象?

时间:2019-09-30 15:08:32

标签: c# json deserialization

我有以下要反序列化的JSON。

"objects": {
    "1612": {
      "id": 1612
    },
    "1626": {
        "id": 1626
    }
}

理想情况下,我正在尝试将其反序列化为列表,但到目前为止我还没有运气。

我尝试了以下操作:

public List<Object> objects { get; set; }

public Dictionary<string, Team> objects { get; set; }

我知道理想情况下JSON应该在数组[]中,但不是。

谢谢。

1 个答案:

答案 0 :(得分:1)

您的JSON不包含任何集合,因此列表/数组不合适。

您应该有一个具有一个属性objects的父对象:

public class RootObject
{
    // I dont know what Team is but I assume it has the 'id' property
    public Dictionary<string, Team> Objects { get; set; }
}

如果您使用的是Json.NET,则反序列化将是:

var rootObj = JsonConvert.DeserializeObject<RootObject>(someJson);

提琴here