【发布时间】:2016-03-09 13:07:45
【问题描述】:
我正在尝试使用英雄联盟 API 制作程序。 API 不返回对象数组。每个冠军都有不同的对象。我的问题是,我怎样才能将这些对象放入 C# 列表中,而不必为 C# 中的每个冠军创建一个对象? https://global.api.pvp.net/api/lol/static-data/euw/v1.2/champion?api_key=362039df-6ce4-4e2f-ac3c-27d246d03f45 (这是我得到的 json 列表) 我有以下代码来转换对象,但显然它无法填充列表。
var webclient = new WebClient();
var strJson = webclient.DownloadString("https://global.api.pvp.net/api/lol/static-data/euw/v1.2/champion?api_key=362039df-6ce4-4e2f-ac3c-27d246d03f45");
var List<ChampionJson> = JsonConvert.DeserializeObjectList<<ChampionJson>>(strJson);
这是冠军班:
public class ChampionJson
{
public Champion champion { get; set; }
}
public class Champion
{
[JsonProperty("id")]
public int id { get; set; }
[JsonProperty("key")]
public string key { get; set; }
[JsonProperty("name")]
public string name { get; set; }
[JsonProperty("title")]
public string title { get; set; }
}
我知道我在做什么可能完全错误,但我对 Json 很陌生。过去两天我一直试图让它工作,但我在互联网上找不到任何东西。 请帮忙, 提前致谢!
【问题讨论】:
-
请在您的问题中包含您尝试反序列化的 JSON 示例,并详细说明您的代码为何无法正常工作 - “它无法填充列表”不是很具有描述性。
-
显然你需要创建与
json响应中的值相同数量的对象。