我有一个非常简单的POCO课程:
[JsonArray]
public class WebGame
{
public int Key { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
尝试将其反序列化为json字符串:
string json = @"[{'Key':'1','Name':'WebGame','Description':'bla-bla-bla'}]";
var myDeserializedObjList = (List<WebGame>)(JsonConvert.DeserializeObject(json, typeof(List<WebGame>)));
var game = myDeserializedObjList[0];
我得到一个例外:
无法反序列化当前的JSON对象(例如{“name”:“value”}) 进入'WebGame'类型,因为类型需要一个JSON数组(例如 [1,2,3])正确反序列化。要修复此错误,请更改 JSON到JSON数组(例如[1,2,3])或更改反序列化类型 它是一种普通的.NET类型(例如,不是整数类型的原始类型, 不是像数组或列表那样的集合类型 从JSON对象反序列化。也可以添加JsonObjectAttribute 到类型强制它从JSON对象反序列化。
这里有什么问题?
答案 0 :(得分:1)
删除[JsonArray]属性,它可以正常工作