首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能用Json.Net反序列化对象

不能用Json.Net反序列化对象
EN

Stack Overflow用户
提问于 2013-11-04 09:20:54
回答 1查看 322关注 0票数 1

我有一个非常简单的POCO课程:

代码语言:javascript
复制
    [JsonArray]
    public class WebGame
    {    
        public  int Key { get; set; }

        public string Name { get; set; }

        public string Description { get; set; }
    }

试图反序列化一个json字符串:

代码语言:javascript
复制
  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对象(例如,{“名称”:“值”})反序列化为'WebGame‘类型,因为该类型需要一个JSON数组(例如,1、2、3)才能正确反序列化。要修复此错误,要么将JSON更改为JSON数组(例如,1,2,3),要么更改反序列化类型,使之成为可以从JSON对象反序列化的普通.NET类型(例如,不像整数这样的原始类型,而不是数组或列表之类的集合类型)。还可以将JsonObjectAttribute添加到类型中,以强制它从JSON对象反序列化。

这里怎么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-04 09:56:51

删除JsonArray属性,它会运行得很好

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19764672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档