我试图将此json反序列化。但是我有几个问题,特别是编译器告诉我:
RootObject不包含GetEnumerator的公共定义。
这是使用json2csharp生成的类:
public class Self
{
public string href { get; set; }
}
public class Fixtures
{
public string href { get; set; }
}
public class Players
{
public string href { get; set; }
}
public class Links
{
public Self self { get; set; }
public Fixtures fixtures { get; set; }
public Players players { get; set; }
}
public class RootObject
{
public Links _links { get; set; }
public string name { get; set; }
public string code { get; set; }
public string shortName { get; set; }
public string squadMarketValue { get; set; }
public string crestUrl { get; set; }
}
这是我的代码:
var obj = JsonConvert.DeserializeObject<RootObject>(responseText);
foreach (var item in obj)
{
item.name //... this is an example of the attribute that I want grab from the JSON for each team
}
我需要遍历所有团队并将其保存到数据库中。
这是JSON的结构,如果它可以提供任何帮助:
{
"_links":{
"self":{
"href":"http://api.football-data.org/alpha/teams/19"
},
"fixtures":{
"href":"http://api.football-data.org/alpha/teams/19/fixtures"
},
"players":{
"href":"http://api.football-data.org/alpha/teams/19/players"
}
},
"name":"Eintracht Frankfurt",
"code":"SGE",
"shortName":"Eintr. Frankfurt",
"squadMarketValue":"69,050,000 €",
"crestUrl":"http://upload.wikimedia.org/wikipedia/commons/0/04/Eintracht_Frankfurt_Logo.svg"
}
答案 0 :(得分:1)
var obj = JsonConvert.DeserializeObject<RootObject>(responseText);
将返回一个RootObject而不是一个对象集合。
我认为问题在于你的api电话。在这种情况下,您正在提出返回单个团队(Eintracht Frankfurt)的请求。
您希望拨打电话,返回团队列表。