我有json文件:
[
{
"as_of":"2012-08-31T15:31:55Z",
"trends":[
{
"name":"#GDTHATXX",
},
{
"name":"#UnMundoEnElQue",
}
],
"created_at":"2012-08-31T15:30:32Z",
"locations":[
{
"name":"Globales",
"woeid":1
}
]
}
]
并生成类:
public class Trend
{
public string name { get; set; }
}
public class Location
{
public string name { get; set; }
public int woeid { get; set; }
}
public class RootObject
{
public string as_of { get; set; }
public List<Trend> trends { get; set; }
public string created_at { get; set; }
public List<Location> locations { get; set; }
}
我可以像这样反序列化RootObject中的元素:
List<RootObject> values = JsonConvert.DeserializeObject<List<RootObject>>(Text);
lvMain3.ItemsSource = values;
但是如何从“趋势”或“位置”反序列化元素。谢谢您的帮助!
答案 0 :(得分:0)
内部元素与RootObject一起被反序列化,因此在执行
之后List<RootObject> values = JsonConvert.DeserializeObject<List<RootObject>>(Text);
您可以从值变量访问“trend”和“locations”元素。 当然,您可以使用linq访问列表中的特定项目:
values.First().trends.First().name;
或类似的东西。