-1

我有 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;

但是如何从“趋势”或“位置”反序列化元素。谢谢您的帮助!

4

1 回答 1

0

内部元素正在与 RootObject 一起反序列化,因此在执行后

List<RootObject> values = JsonConvert.DeserializeObject<List<RootObject>>(Text);

您可以从值变量中访问“趋势”和“位置”元素。当然,您可以使用 linq 访问列表中的特定项目:

values.First().trends.First().name;

或者类似的东西。

于 2013-09-16T11:40:18.133 回答