无法使用Json.Net反序列化对象

时间:2013-11-04 09:20:54

标签: json json.net

我有一个非常简单的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对象反序列化。

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

删除[JsonArray]属性,它可以正常工作