Jackson 解析j@JsonIgnorePropertiesson数据之忽略解析字段注解

我是一座离岛 关注

2017.04.12 14:32 字数 721 阅读 1121评论 0喜欢 0

以前解析json用的惯的就是Google的gson了,用惯了基本就用它了,一直也没发现什么大问题,因为都是解析简单的json数据。但是最近学习springboot,要解析一个比较复杂的json数据。就照之前的用gsonformat自动生成实体类,让gson直接解析,本想着一切ok了,可是确报错了,刚开始以为gsonformat生成的类有错误,因为毕竟json数据较为复杂,于是多生成几次,可是还是不行。面对这样复杂的数据,我可不想手动写实体类,于是想着又换了自动生成实体类的工具,可是结果还是未能如愿。于是想着能从错误的日志中发现点什么,可是无奈gson没有打印具体的出错的地方,后来捣鼓了好久,想着不如换个解析工具吧。于是上网找了找,觉得Jackson不错,赶紧试用,发现还真不错,虽然也没能解析成功,但是它打印出了详细的出错信息,照着出错的信息改了马上就解析成功了。

说说出错的原因:平时解析json呢基本接口提供的json都是很明确的,所以用gson解析一般不会有啥大问题。但是此次情况不同,接口的数据我无法完全的预知,所以实体类字段有可能不完整。所以当返回的json数据里包含了实体类没有的字段时gson就有可能出错,但是对于这种情况用gson解析我是没找到相应的解决办法,如果谁知道麻烦告知一下,谢谢。

当然用Jackson解决就非常容易了,只需要在实体类上加上注解就可以。

@JsonIgnoreProperties(ignoreUnknown = true)
class ExtraBean {private boolean is_museuser;public boolean isIs_museuser() {return is_museuser;}public void setIs_museuser(boolean is_museuser) {this.is_museuser = is_museuser;}
}

@JsonIgnore注解用来忽略某些字段,可以用在Field或者Getter方法上,用在Setter方法时,和Filed效果一样。这个注解只能用在POJO存在的字段要忽略的情况,不能满足现在需要的情况。

@JsonIgnoreProperties(ignoreUnknown = true),将这个注解写在类上之后,就会忽略类中不存在的字段,可以满足当前的需要。这个注解还可以指定要忽略的字段。使用方法如下:

@JsonIgnoreProperties({ "internalId", "secretKey" })
指定的字段不会被序列化和反序列化。

到此顺利解决。(还有Gson有类似的实现请告知一下,本人只知道gson转string忽略字段的方法,谢谢)

参考:
http://blog.csdn.net/isea533/article/details/33397735
http://www.cnblogs.com/dupang/p/5673097.html

 日记本

© 著作权归作者所有
举报文章

关注我是一座离岛

写了 6039 字,被 10 人关注,获得了 49 个喜欢

简简单单的记录

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
喜欢
0

Jackson 解析j@JsonIgnorePropertiesson数据之忽略解析字段注解相关推荐

  1. java+解析未知json_在Java中解析JSON时如何忽略未知属性– Jackson @JsonIgnoreProperties注释示例...

    java+解析未知json 使用Jackson API在Java中解析JSON时的常见问题之一是,当您的JSON包含未知属性(即您的Java类没有对应于所有JSON属性的所有字段)时,该操作将失败. ...

  2. JSON数据构造及解析详解

    JSON数据构造及解析详解 1.JSON格式数据长啥样? 2.JSON简介 JSON(Javascript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,也易于机器解析和 ...

  3. oracle中多层嵌套命名,一种多层嵌套的json格式数据的命名解析方法

    一种多层嵌套的json格式数据的命名解析方法 [专利摘要]一种n层嵌套的json格式数据的命名解析方法,包括以下步骤:首先,以n层嵌套的json格式数据为基础建立数据源:然后,以键值对为最小单元由外而 ...

  4. json解析函数c语言,C语言解析json类型数据

    转自:http://buluzhai.iteye.com/blog/845404   首先感谢作者!! 先看json的数据结构 c中没有对象,所以json数据是采用链表存储的 C代码如下: typed ...

  5. hj212协议如何和php通讯,HJ212数据传输标准报文解析

    HJ212分为2005年(HJ/T212-2005)和2017年(HJ212-2017)的版本,略有不同. 网上没找到非常官方的渠道下载,在这贴一份2017年版本的下载地址 TCP/IP通讯包组成 名 ...

  6. fastjson解析多层数据_JSON数据如何进行解析呢,方式有哪些?

    问题:JSON数据如何进行解析呢,方式有哪些? 这个问题是我们作为程序员几乎每天都要进行的操作,那它有多少种方式呢,我们这里就这点来说一说. 解析的四种方式 官方解析 谷歌 Gson 解析 阿里巴巴 ...

  7. 迈克尔 杰克逊mv_杰克逊JSON解析错误– UnrecognizedPropertyException:无法识别的字段,未标记为可忽略[已解决]...

    迈克尔 杰克逊mv 在解析从我们的一个RESTful Web服务接收到的JSON字符串时,我收到此错误"线程" main"中的异常com.fasterxml.jackso ...

  8. 杰克逊JSON解析错误-UnrecognizedPropertyException:无法识别的字段,未标记为可忽略[已解决]...

    在解析从我们的一个RESTful Web服务接收到的JSON字符串时,我收到此错误"线程" main"中的异常com.fasterxml.jackson.databind ...

  9. 利用串口解析AIS接收机数据

    串口: 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口.串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路 ...

最新文章

  1. IL,Emit之OpCodes说明(备查)
  2. springside3.3.4部署小结
  3. SQL 经典回顾:JOIN 表连接操作不完全指南
  4. java sql server 存储过程_修改SQL SERVER内置存储过程
  5. JS 入门经典 第三章 判断、循环和函数
  6. java读取打包时间_Java获取响应的日期时间,这样写是否合理?
  7. 企业实战|企业FTP搭建
  8. CCleaner系统优化
  9. 【啊哈C语言】【习题答案】【第一章】
  10. CNVD和CNNVD披露漏洞教程(个人申报)
  11. windows查看WIFI无线网络密码
  12. 数学建模——相关系数
  13. NOI 2017 滚粗记
  14. 主流搜索引擎分析[特点、功能、市场份额、应用领域]
  15. 梯田油菜花海距杭州仅120公里
  16. Ant 中的一些命令
  17. vmware linux访问windowsxp下的文件
  18. 招聘|蔚来汽车招感知算法工程师(Intern)
  19. 双目立体视觉中的坐标系与转换关系 [留意~摄影测量学与计算机视觉学科中的差异]
  20. php将数字转换人民币显示,php如何实现人民币数字转大写

热门文章

  1. NLP-二分类的应用-区分外卖评论好评/差评
  2. 为什么有时候双击excel表格里面的单元格的时候会跳到其它地方?
  3. CTF Crypto中涉及的AES题目
  4. 继续树莓派4B+OLED:开机自动显示IP地址
  5. 使用Qt编辑关闭窗口程序的一些见解
  6. 修复笔记本键盘都失灵的情况
  7. “FCoE全解系列”之融合网络方案和典型组网
  8. 举个栗子!Tableau 技巧(4):如何做空心饼图(环形图)
  9. 举个栗子!Tableau 技巧(175):通过 URL 传参实现不同工作簿的跳转
  10. 数据结构之 红黑树(左倾红黑树) java实现