首先,已经多次询问过这个问题,但是在阅读了我发现的所有帖子后,没有提供修复我的特定情况的答案。
此外,请原谅任何不正确的术语,因为我可能会滥用条款......
我正在尝试从此查询中获取JSON,只需输出到文本块:
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 = ??????
当我运行时,我可以看到电影输出正确包含一个'name_approx'对象并嵌套在其中20 'Streams' as我预计。
但我无法弄清楚如何将其输出到我的文本块。我已经尝试了很多方法,并认为我需要使用某种形式的foreach但是我被困住了,无法解决它。
答案 0 :(得分:1)
现在您将它作为Json对象,您可以将父对象序列化回格式化的Json字符串并在&lt; pre&gt;中显示它。用于保持格式化的标签。
Json.Net有一个方法:
string json = JsonConvert.SerializeObject(movieObject, Formatting.Indented);