如何使用C#反序列化JSON?

时间:2015-10-28 00:37:39

标签: c# json deserialization

我有简单的JSON:

[
  {
    "new_as_cod": "0010955",
    "as_nome": "NAME",
    "as_cpf": "1212121212",
    "as_email": "IM@UOL.COM.BR",
    "as_cep": "88.025-200",
    "igr_nome": "1\u00aa IGREJA BATISTA - FLORIANOPOLIS",
    "id": "2781",
    "valor": "50.00",
    "pg_tipo_id": "CC",
    "status": "Ativo",
    "idstatus": "1"
  }
]

...以及从here生成的C#类:

 public class RootObject
    {
        public string new_as_cod { get; set; }
        public string as_nome { get; set; }
        public string as_cpf { get; set; }
        public string as_email { get; set; }
        public string as_cep { get; set; }
        public string igr_nome { get; set; }
        public string id { get; set; }
        public string valor { get; set; }
        public string pg_tipo_id { get; set; }
        public string status { get; set; }
        public string idstatus { get; set; }
    }

我试过这个:

RootObject data = JsonConvert.DeserializeObject<RootObject>(stringdate);

但我收到错误:

error

我该如何解决?

2 个答案:

答案 0 :(得分:3)

[{ "new_as_cod": "0010955", "as_nome": "NAME", "as_cpf": "1212121212", "as_email": "IM@UOL.COM.BR", "as_cep": "88.025-200", "igr_nome": "1\u00aa IGREJA BATISTA - FLORIANOPOLIS", "id": "2781", "valor": "50.00", "pg_tipo_id": "CC", "status": "Ativo", "idstatus": "1" }]

如果它有[],则这是一个集合。

试试这个。

JsonConvert.DeserializeObject<List<RootObject>>(stringdate);

答案 1 :(得分:0)

是的,这个JSON是一个集合,所以变量也需要列出。

List<RootObject> data = JsonConvert.DeserializeObject<List<RootObject>>(stringdate);