使用JSON.NET JArray反序列化JSON数组

时间:2016-08-11 08:35:28

标签: c# json json.net

我正在尝试使用Newtonsoft JSON.NET块来反序列化我的JSON数组:

以下是代码:

 private List<TemplateTypesObj> getTemplateTypes(JArray array)
    {
        List<TemplateTypesObj> templateTypes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<TemplateTypesObj>>(array);

        return templateTypes;
    } 

唯一的问题是DeserializeObject需要String,而不是JArray对象。我可以做array.toString(),但我不确定这是否是一种正确的方法。

1 个答案:

答案 0 :(得分:1)

那是因为JArray确实不需要反序列化。它不是对象的字符串/二进制表示(这是您要反序列化的东西)。它已经是一个代表你的JSON的对象。您可以像对象一样使用它 - 遍历它,从中提取单个项目。

查看http://www.newtonsoft.com/json/help/html/t_newtonsoft_json_linq_jarray.htm处的文档 - 我确信可以使用哪些方法来实现您想要的转换。