none
【Json.Net】为什么 JsonConvert.DeserializeObject() 解析数据不全? RRS feed

  • 问题

  • 今天试用了下 Json.Net,省去了手工写大堆 Json 反序列化代码,但有些对象(自定义)能成功解析,但有些却解析不完整,这是为什么?

    * Json 数据是格式正确的,也没有错误。

    * 无法完整解析的对象也只是比能完整解析的对象复杂一点,大体都差不多。

    2015年9月30日 12:47

答案

  • Json.Net自动解析属性,不会默认去解析字段,而且你的类型需要有显式的无参构造才可以被支持序列化。

    具体那个没有成功解析的类型你检查下,是否所有属性都有public setter, 是否你需要反序列化的值是属性声明或者是有[JsonProperty] attribute

    最好你能够缩小问题范围,贴出具体问题类型或者代码,否则我们是在玩猜谜游戏


    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2015年10月8日 2:53

全部回复

  • Json.Net自动解析属性,不会默认去解析字段,而且你的类型需要有显式的无参构造才可以被支持序列化。

    具体那个没有成功解析的类型你检查下,是否所有属性都有public setter, 是否你需要反序列化的值是属性声明或者是有[JsonProperty] attribute

    最好你能够缩小问题范围,贴出具体问题类型或者代码,否则我们是在玩猜谜游戏


    Bob Bao

    Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
    你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。

    2015年10月8日 2:53
  • 2015年10月8日 8:03
    版主
  • 发现问题了,构造函数的形参要和 Json 的键值一样才行
    2015年10月8日 14:58