从 ASP.NET Core MVC 中的 API 获取数据
Fetching data from an API in ASP.NET Core MVC
我在从 ASP.NET 核心 MVC 控制器 (imdb api) 中的 API 获取数据时遇到问题。
问题是我无法将当前 JSON 对象反序列化为类型
这是我的代码
List<Movie> movieList = new List<Movie>();
using (var httpClient = new HttpClient())
{
using (var response = await httpClient.GetAsync("https://imdb-api.com/en/API/Title/****/tt0110413"))
{
string apiResponse = await response.Content.ReadAsStringAsync();
var Movie = JsonConvert.DeserializeObject<Movie>(apiResponse);
//movieList = JsonConvert.DeserializeObject<List<Movie>>(apiResponse);
}
}
return View();
我的 api 数据是这样的
{
"items": [
{
"id": "tt0111161",
"rank": "1",
},...
]
}
我遇到反序列化问题 - 有什么帮助吗?
您需要确保 Movie 的结构与您的 json 数据相对应:
public class Movie {
public List<Item> items { get; set; }
}
public class Item {
public string id { get; set; }
public string rank { get; set; }
}
使用 IMDbApiLib。
GitHub:
https://github.com/IMDb-API/IMDbApiLib
努格特:
https://nuget.org/packages/IMDbApiLib
电影的标题数据:
https://github.com/IMDb-API/IMDbApiLib/blob/master/IMDbApiLib/Models/TitleData.cs
我在从 ASP.NET 核心 MVC 控制器 (imdb api) 中的 API 获取数据时遇到问题。
问题是我无法将当前 JSON 对象反序列化为类型 这是我的代码
List<Movie> movieList = new List<Movie>();
using (var httpClient = new HttpClient())
{
using (var response = await httpClient.GetAsync("https://imdb-api.com/en/API/Title/****/tt0110413"))
{
string apiResponse = await response.Content.ReadAsStringAsync();
var Movie = JsonConvert.DeserializeObject<Movie>(apiResponse);
//movieList = JsonConvert.DeserializeObject<List<Movie>>(apiResponse);
}
}
return View();
我的 api 数据是这样的
{
"items": [
{
"id": "tt0111161",
"rank": "1",
},...
]
}
我遇到反序列化问题 - 有什么帮助吗?
您需要确保 Movie 的结构与您的 json 数据相对应:
public class Movie {
public List<Item> items { get; set; }
}
public class Item {
public string id { get; set; }
public string rank { get; set; }
}
使用 IMDbApiLib。
GitHub: https://github.com/IMDb-API/IMDbApiLib
努格特: https://nuget.org/packages/IMDbApiLib
电影的标题数据: https://github.com/IMDb-API/IMDbApiLib/blob/master/IMDbApiLib/Models/TitleData.cs