NewtonSoft不正确的反序列化

时间:2018-08-15 06:50:34

标签: c# json json.net

This是我要反序列化的内容。

我让Visual Studio生成these类以进行反序列化。

但是,每当我反序列化此数据时,最终_56787设置为null。 Here's重新序列化的数据。

using (var client = new WebClient())
{
    string temp = client.DownloadString($"https://api.frankerfacez.com/v1/room/leonardvdj");
    Rootobject FFZEmotes = JsonConvert.DeserializeObject<Rootobject>(temp);
    Console.WriteLine(JsonConvert.SerializeObject(FFZEmotes));
}

这是我用来检索JSON的代码。我已经检查了“ temp”的值,并且下载正确。

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

您需要将sets变成字典而不是类型,然后将_56787重命名为更明智的名称:

public class Rootobject
{
    public Room room { get; set; }
    public Dictionary<string, Set> sets { get; set; }
}

public class Set
{
    public int _type { get; set; }
    public object css { get; set; }
    public object description { get; set; }
    public Emoticon[] emoticons { get; set; }
    public object icon { get; set; }
    public int id { get; set; }
    public string title { get; set; }
}