反序列化JSON数据

本文关键字:数据 JSON 反序列化 | 更新日期: 2023-09-27 18:10:03

我有一个JSON数据从Twitter API搜索。我正在尝试将这些数据反序列化成对象。

JSON模式是这样的:

    {
      "element": INT,
      "element2": STRING,
       ..
       ..
      "Results":[
                   {
                      "user":STRING, 
                      "image":STRING,
                      ..
                      ..
                   }
                ]
   }

我怎么能反序列化这些JSON元素成对象使用JSON工具包或其他东西?

反序列化JSON数据

创建一个匹配JSON模式的类

public class Data
{
   public string Element{get;set;}
   public string Element2{get;set;}
   public List<Result> Results{get;set;}
}
public class Result
{
  public string User{get;set;}
  public string Image{get;set;}
}

并使用JSON。. NET反序列化

var result = JsonConvert.DeserializeObject<Result>(json);

如果您在正确的类型定义方面有问题,您总是可以使用Json使用动态反序列化。净:

var original = JsonConvert.DeserializeObject<dynamic>(jsonstring);

,然后基于它构建您想要的对象(例如,如果原始对象包含开销信息集,而您不需要它们全部):

var somepart = new {
                       E1 = original.element1,
                       E2 = original.element2
                   };