JsonConvert.DeserializeObject 总是 returns 空
JsonConvert.DeserializeObject always returns null
我正在尝试在我的 ASP.NET MVC 项目中使用足球 API (SportMonks)。我是新手,所以我面临着将 deserialized JSON
从 Controller 发送到 View 的问题。这是代码:-
JSON 响应:
{"data":[{"id":1,"name":"Europe"},{"id":2,"name":"Asia"},{"id":3,"name":"Africa"},{"id":4,"name":"Oceania"},{"id":5,"name":"Antarctica"},{"id":6,"name":"North America"},{"id":7,"name":"South America"}],"meta":{"subscription":{"started_at":{"date":"2017-03-20 21:02:56.000000","timezone_type":3,"timezone":"UTC"},"trial_ends_at":null,"ends_at":null},"plan":{"name":"Free Plan","price":"0.00","request_limit":"3,1"},"sports":[{"id":1,"name":"Soccer","current":true},{"id":6,"name":"Cricket","current":false}]}}
型号:-
public class SAPI_Continent
{
public int id { get; set; }
public string name { get; set; }
}
public class SoccerAPI
{
public IList<SAPI_Continent> continents { get; set; }
}
控制器
[HttpGet]
public ActionResult ConsumeExternalAPI()
{
var webClient = new WebClient();
var json = webClient.DownloadString(@"https://soccer.sportmonks.com/api/v2.0/continents?api_token=nAfVFSbRn3x7tP7b840mitMVli48deY0sVndIB6zpae8MquprEivAuH7zplu");
SoccerAPI continents = JsonConvert.DeserializeObject<SoccerAPI>(json);
return View(continents);
}
continents
始终为空,尽管 var json
正常返回数据
查看
@if (Model != null)
{
<ul>
@foreach (var con in Model.continents)
{
<li>@con.name</li>
}
</ul>
}
else
{
<p>Error</p>
}
如何仅从 `data` 部分获取 `id & name` 的值以及为什么反序列化变量为空?
指的是您的“空”问题。您的 continents 属性应更改为 data,因为这是从 json.
返回的名称
我正在尝试在我的 ASP.NET MVC 项目中使用足球 API (SportMonks)。我是新手,所以我面临着将 deserialized JSON
从 Controller 发送到 View 的问题。这是代码:-
JSON 响应:
{"data":[{"id":1,"name":"Europe"},{"id":2,"name":"Asia"},{"id":3,"name":"Africa"},{"id":4,"name":"Oceania"},{"id":5,"name":"Antarctica"},{"id":6,"name":"North America"},{"id":7,"name":"South America"}],"meta":{"subscription":{"started_at":{"date":"2017-03-20 21:02:56.000000","timezone_type":3,"timezone":"UTC"},"trial_ends_at":null,"ends_at":null},"plan":{"name":"Free Plan","price":"0.00","request_limit":"3,1"},"sports":[{"id":1,"name":"Soccer","current":true},{"id":6,"name":"Cricket","current":false}]}}
型号:-
public class SAPI_Continent
{
public int id { get; set; }
public string name { get; set; }
}
public class SoccerAPI
{
public IList<SAPI_Continent> continents { get; set; }
}
控制器
[HttpGet]
public ActionResult ConsumeExternalAPI()
{
var webClient = new WebClient();
var json = webClient.DownloadString(@"https://soccer.sportmonks.com/api/v2.0/continents?api_token=nAfVFSbRn3x7tP7b840mitMVli48deY0sVndIB6zpae8MquprEivAuH7zplu");
SoccerAPI continents = JsonConvert.DeserializeObject<SoccerAPI>(json);
return View(continents);
}
continents
始终为空,尽管 var json
正常返回数据
查看
@if (Model != null)
{
<ul>
@foreach (var con in Model.continents)
{
<li>@con.name</li>
}
</ul>
}
else
{
<p>Error</p>
}
如何仅从 `data` 部分获取 `id & name` 的值以及为什么反序列化变量为空?
指的是您的“空”问题。您的 continents 属性应更改为 data,因为这是从 json.
返回的名称