我需要一个来自JSON的列表,但我不知道如何从上面的列表中获得这些信息
///www.omdbapi.com/
const string ApiKey = "18693fd6";
/// <summary>
/// By Search
/// www.omdbapi.com/?s=titulo&apikey=18693fd6
/// </summary>
/// <param name="filtro"></param>
/// <returns></returns>
public List<Film> ListarFilmes(string filtro)
{
List<Film> ResultFilm = new List<Film>();
using (WebClient webClient = new System.Net.WebClient())
{
var json = webClient.DownloadString("http://www.omdbapi.com/?s=" + filtro + "&apikey=" + ApiKey);
dynamic array = JsonConvert.DeserializeObject(json);
ResultFilm.Add(array) ;
}
return ResultFilm;
}这是一个文件类,我需要在列表中返回标题和年份变量。
public class Film
{
/// <summary>
/// Title
/// </summary>
public string Title { get; set; }
/// <summary>
/// Year
/// </summary>
public int? Year { get; set; }
}发布于 2018-05-19 12:21:45
那个杰森回来的不只是一堆电影。结构如下:
{
"Search": [
{
"Title": "Sin t\u00c3\u00adtulo (Carta para Serra)",
"Year": "2011",
"imdbID": "tt2268553",
"Type": "movie",
"Poster": "N\/A"
},
{
"Title": "Pendiente de T\u00c3\u00adtulo",
"Year": "2008",
"imdbID": "tt2301959",
"Type": "series",
"Poster": "N\/A"
},
.....more items here......
],
"totalResults": "17",
"Response": "True"
}您需要访问属性Search才能获得电影列表。此代码将为您提供包括标题和年份在内的电影对象列表。
JToken search = JObject.Parse(json).GetValue("Search");
ResultFilm = search.Select(f => f.ToObject<Film>()).ToList();请注意,Json包含10部电影,而不是totalResults中提到的17部。
发布于 2018-05-19 12:25:19
你试过吗?我假设返回的对象只是电影列表
ResultFilm = JsonConvert.DeserializeObject<List<Film>>(json);https://stackoverflow.com/questions/50425077
复制相似问题