使用 JSON.NET 和生成的类反序列化 elemets

本文关键字:反序列化 elemets JSON NET 使用 | 更新日期: 2023-09-27 18:31:36

我有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 中的 elemets:

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

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

使用 JSON.NET 和生成的类反序列化 elemets

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

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

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

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

或类似的东西。