json之jackson序列化反序列化探究(二)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json之jackson序列化反序列化探究(二)相关的知识,希望对你有一定的参考价值。
参考技术A上一篇(json之jackson的介绍以及基本使用ObjectMapper): https://www.jianshu.com/p/6d6911fa999e
例如:
测试
在
例如:我们去除测试用户部分字段的getter方法
测试
由测试可见字段 id name ,并没有被序列化
可知ObjectMapper并不真正地检查getter对应的属性是否存在于User对象上,而是通过getter的命名规约进行调用
例如:我们构造一个不存的属性 temp , 只有getter方法
测试
给java对象不存在的属性添加一个setter方法
反序列化成功
综上,在默认情况下(即不对ObjectMapper做任何额外配置,也不对Java对象加任何Annotation),ObjectMapper依赖于Java对象的默认的无参构造函数进行反序列化,并且严格地通过getter和setter的命名规约进行序列化和反序列化
json之jackson的常用全局配置以及自定义序列化规则
参考技术A 不配置使用Java8的数据类型(比如:LocalDateTime)会报以下异常
配置
3.结果
以上是关于json之jackson序列化反序列化探究(二)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Jackson 反序列化来自 json 对象的对象数组
Java应用使用Jackson库进行JSON序列化和反序列化
使用 Jackson 反序列化 JSON - 为啥 JsonMappingException“没有合适的构造函数”?