c# - 如何使用 JSON.net 格式化嵌套 JSON 对象的输出?

标签 c# json json.net

首先,这个问题已被问过很多次,但在阅读了所有帖子后,我发现没有一个帖子提供了解决我的特定情况的答案。

此外,请原谅任何不正确的术语,因为我可能会误用术语...

我正在尝试从此查询中获取 JSON 并简单地输出到文本 block :

http://www.imdb.com/xml/find?json=1&nr=1&nm=on&q=jeniffer+garner

产生这个:

 {
  "name_approx":[
    {
      "id":"nm0004950",
      "title":"",
      "name":"Jennifer Garner",
      "description":"Actress, Dallas Buyers Club"
    },
//more code
{
  "id":"nm3144518",
  "title":"",
  "name":"Jennifer Varner",
  "description":"Self, THS Investigates: Hot for Student"
}]}

我尝试使用的代码如下。

类:

public class Movie
{
    public List<Stream> name_approx { get; set; }

    public Movie ()
    {}
}

public class Stream 
{
    public string id { get; set; }
    public string title { get; set; }
    public string name { get; set; }
    public string description { get; set; }

    public Stream ()
    {}
}

和...

searchOutput.Text = "";
searchStatusOutput.Text = "Awaiting Response...";
string userURI = inputAddress.Text;

var response = await httpClient.GetAsync(userURI);
response.EnsureSuccessStatusCode();

var content = await response.Content.ReadAsStringAsync();

Movie output = JsonConvert.DeserializeObject<Movie>(content);

//searchOutput.Text = ??????           

当我运行它时,我可以看到 Movie Output 正确包含一个 'name_approx' 对象并嵌套在其中 20 个 'Streams' 作为我预计。

但是我不知道如何将它输出到我的文本 block 。我尝试了多种方法,认为我需要使用某种形式的 foreach,但我被卡住了,无法解决。

最佳答案

现在您已将其作为 Json 对象,您可以将父对象序列化回格式化的 Json 字符串并将其显示在

 标记中以保持格式。

Json.Net 有一个方法:

string json = JsonConvert.SerializeObject(movieObject, Formatting.Indented);

关于c# - 如何使用 JSON.net 格式化嵌套 JSON 对象的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27091048/

相关文章:

python - curl with POST 不工作,request.POST 为空

json - 将 Json 日期时间转换为 C# 日期时间

c# - Expression.Call 导致 "Static method requires null instance, non-static method requires non-null instance"

c# - 如何在 C# 中从工作线程发布 UI 消息

c# - 使用持久连接 c# 处理 HttpResponseMessage

c# - ASP.NET MVC3 服务层 - 每个服务有多个存储库?

php - 如何以json格式在浏览器上查看印地语字体

python - 使用python3解析json

c# - 自定义反序列化器仅适用于 json.NET 的某些字段

c# - 无法将 Json 解析为 .NET 类