亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

jackson-databind最佳實踐

標簽:
深度學習

给出一个简单的POJO

5bd5b61c0001f33b04430815.jpg


使用databind,我们需要一个最基础的对象com.fasterxml.jackson.databind.ObjectMapper这里我们构造一个:


5bd5b61c00016ef108770160.jpg


注意:这个objectMapper是可以复用的

ObjectMapper

该映射器(或数据绑定器或编解码器)为Java对象之间和匹配的JSON结构的转换提供功能

属性(为序列化过程定义基本的全局设置的配置对象)

_serializationConfig

5bd5b61c0001993a06270044.jpg

_deserializationConfig

5bd5b61d00010daa05740037.jpg

image.png

Inclusion

5bd5b61d00016de307560044.jpg

需要的传参


用于定义Java Bean的哪些属性将被包含在序列化中的枚举

  • ALWAYS
    指示属性始终被包含 独立于值

  • NON_NULL
    该值指示仅包含具有非空值的属性

  • NON_DEFAULT
    只包含没有默认值的属性(意味着当它使用无参数构造函数构造Bean时的值)
    Map通常无用,因为它们没有默认值,如果使用,则与ALWAYS

  • NON_EMPTY
    属性值为null或被认为是空的属性不包括在内

Feature

定义了可引导序列化功能的可触发功能的枚举


5bd5b61d0001659310000069.jpg

  • WRITE_DATES_AS_TIMESTAMPS(true)
    确定Date以及基于日期的东西如Calendar是否要序列化为时间戳

  • FAIL_ON_EMPTY_BEANS(true)

确定在找到某个类型没有访问者时会发生什么的功能
如果启用(默认),则抛出异常以将它们指示为不可序列化的类型
如果禁用,则它们被序列化为空的对象,即没有任何属性。


5bd5b61d0001dea210000079.jpg

简单的把JSON反序列化成Object的用法如下:


5bd5b61e0001776e10000349.jpg


简单的把Object序列化成JSON的用法如下:


5bd5b61e0001392410000334.jpg

其实到这一步,对于很多读者来说已经足够了。因为大部分时候我们要的就是这些。但是不妨继续看下去,还有一些你可能会用到的。

集合

如果你使用的不是简单的POJO,而是List,Map:

5bd5b61f0001bdb110000269.jpg


1000


思考:为什么需要指定类型?(类型擦除)

注意:序列化的时候不需要指定,只有反序列化的时候需要。



作者:芥末无疆sss
链接:https://www.jianshu.com/p/70402faf75d1
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消