1

首先,对不起我的英语不好。您好,我正在尝试将 json(使用 newtonsoft)反序列化为一个列表,效果很好。但我唯一的问题是,如果可能的话,我需要将列表放入列表中。我为什么要这样做是因为我有一组包含子项目的项目。如何将它们全部放在一个不错的排序列表中?这是我制作的一些示例代码:

C# 代码

var items = JsonConvert.DeserializeObject<List<Items>>(wc.DownloadString("http://localhost/index.php"));
foreach (var item in items)
{
    Console.WriteLine(item);
}

listItems.AddRange(items);

public class Items
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string Genre { get; set; }
    public string Size { get; set; }
    public string Version { get; set; }
    public string Download_Link { get; set; }
    public string Description { get; set; }
}

JSON

[
    {
        "id": "1",
        "name": "Application 1",
        "genre": "Something",
        "description": "The description",
        "versions": [
            {
                "appid": "1",
                "version": "1",
                "patch_notes": "Release version.",
                "download_link": "http://localhost/downloads/application_1.zip",
                "size": 5120
            }
        ]
    }
]

我的问题是我似乎无法将第二个数组与项目一起放在列表中。我知道我做错了什么,但我似乎无法弄清楚是什么,有人可以帮我解决这个问题吗?将不胜感激。

4

1 回答 1

1

在 json 中,Versions 是一个数组。您还必须对该对象进行建模。

你的模型应该是这样的

public class Items
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string Genre { get; set; }
    public string Description { get; set; }
    public List<Version> Versions { get; set; }
}

public class Version
{
    public string Appid { get; set; }
    public string Version { get; set; }
    public string Patch_Notes { get; set; }
    public string Download_Link { get; set; }
    public int Size { get; set; }
}
于 2013-06-20T08:33:48.850 回答