首页 > 解决方案 > 如何反序列化一个对象中的多个对象?

问题描述

我有以下 JSON 正在尝试反序列化。

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

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

我尝试了以下方法:

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

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

我知道理想情况下 JSON 应该在数组 [] 中,但事实并非如此。

先感谢您。

标签: c#jsondeserialization

解决方案


您的 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);

在这里提琴


推荐阅读