我正在尝试使用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()
,但我不确定这是否是一种正确的方法。
答案 0 :(得分:1)
那是因为JArray确实不需要反序列化。它不是对象的字符串/二进制表示(这是您要反序列化的东西)。它已经是一个代表你的JSON的对象。您可以像对象一样使用它 - 遍历它,从中提取单个项目。
查看http://www.newtonsoft.com/json/help/html/t_newtonsoft_json_linq_jarray.htm处的文档 - 我确信可以使用哪些方法来实现您想要的转换。