c# - ASP.NET MVC 5 从 TMDB API 获取 JSON 结果

标签 c# json asp.net-mvc-5 themoviedb-api

如何让用户在 ASP.NET MVC 5 应用程序中使用 TMDB API (The Movie Db) 搜索电影并返回 JSON 结果。

在 VB 外部使用我的个人 api key 并返回包含字符串“mission”的所有电影的 json 结果的工作示例:

http://api.themoviedb.org/3/search/movie?api_key=841c..&query=mission

文档 ( http://docs.themoviedb.apiary.io/#reference/search/searchmovie ) 建议对 C# 使用以下代码:

var baseAddress = new Uri("http://api.themoviedb.org/3/");

using (var httpClient = new HttpClient{ BaseAddress = baseAddress })
{

    httpClient.DefaultRequestHeaders.TryAddWithoutValidation("accept", "application/json");

    using(var response = await httpClient.GetAsync("search/movie"))
    {
        string responseData = await response.Content.ReadAsStringAsync();
    }
}

我将代码粘贴到异步操作 MovieSearch() 中,但不知道现在该做什么。

最佳答案

您必须将他们作为 responseData 返回给您的 JSON 字符串反序列化为 c# 类型,例如 Movie。对于反序列化,您可以使用像 JSON.NET 这样的库然后这样写:

class Movie
{
   public string Name{ get; set;}
   public decimal Rating{ get; set;}
}

 string output = "{ "Name": "The Matrix", "Rating": "4.0"}"

Movie deserializedMovie = JsonConvert.DeserializeObject<Movie>(responseData);

检查它们实际返回的内容,因为响应不能包含单个 Movie 对象,但可以包含一个列表,那么您必须像这样编写代码:

List<Movie> movies= JsonConvert.DeserializeObject<List<Movie>>(responseData);

希望这有帮助:)

关于c# - ASP.NET MVC 5 从 TMDB API 获取 JSON 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30209292/

相关文章:

c# - 如何获取isPersistent(AuthenticationProperties)

asp.net - Autofac OWIN TestServer 和 HttpContext

c# - 尝试创建一个 256 位 key 以存储在 web.config 中

c# - ClosedXML - 创建多个数据透视表

php - 使用 Curl (SinglePayment) 验证移动支付

php - 使用 JSON 向 php/MySQL 服务器发送 64 位数字?

authentication - 控制 cookie 生命周期的三个属性中哪个优先?

c# - SQL中 "WHERE x = ?"是什么意思

c# - lock() 类型转换安全吗?

javascript - ajax 使用 json、nodejs 和 webpack 返回 401