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.

返回的名称