首先,抱歉我的英语不好。您好,我正在尝试将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
}
]
}
]
我的问题是我似乎无法将第二个数组放在列表中。我知道我做错了什么,但我似乎无法弄清楚是什么,有人可以帮我解决这个问题吗?非常感谢。
答案 0 :(得分: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; }
}