1.简介

默认情况下,序列化时会获取对象的实际类型,然后根据可见性规则,获取对象以及其父类的所有属性进行序列化

默认情况下,反序列化时,如果使用的对象类型、属性类型不是最终类型,而是接口或者抽象类型,如Map接口等,此时jackson会

选择一种常用的实现类来进行反序列化,如Map->HashMap,List->ArrayList,Set->HashSet等

如果在序列化时只想序列化对象某父级类型的属性,反序列化时希望指定接口或者抽象类型的实现类,jackson提供了以下注解:

  • JsonDeserialize:通过as属性控制反序列化后最终的实现类
  • JsonSerialize:通过as属性控制序列化时使用的实际父类

2.JsonDeserialize

2.1 实体

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.Data;import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import java.util.concurrent.ConcurrentHashMap;@Data
public class User {private Integer id;/* 指定反序列化使用的实际类型 */@JsonDeserialize(as = TreeMap.class)private Map<String,String> info1;

jackson使用@JsonDeserialize与@JsonSerialize控制序列化与反序列化使用的实际类型相关推荐

  1. ISerializable接口-控制序列化与反序列化(回答C#不需要实现此接口也可以序列化,那么实现该接口的意义是什么?)

    https://www.cnblogs.com/fanfan-90/p/12038928.html (回答C#不需要实现此接口也可以序列化,那么实现该接口的意义是什么?) ISerializable接 ...

  2. 【jackson】@JsonDeserialize 和 @JsonSerialize

    文章目录 1.概述 2.[需求] 3.[实现方式] 3.1 @JsonDeserialize 3.2 @JsonSerialize 4.案例 4.1 实体类 4.2 GenderJsonDeseria ...

  3. jackson驼峰转下划线注解_jackson序列化与反序列化的应用实践

    作者 | zhouweixin 来源 | urlify.cn/iEbiAz 66套java从入门到精通实战课程分享 1 相关概念 序列化: 把对象转换为字节序列的过程称为对象的序列化 反序列化: 把字 ...

  4. jackson (json、xml的序列化与反序列化)

    jackson用于java对象到json的序列化与反序列化.还支持xml格式. jackson用于实现json与java对象的序列与反序列化.web service要实现跨机器传送对象那么就需要有一种 ...

  5. java 序列化工具kryo_java jackson avro kryo等几种序列化与反序列化工具的使用

    最近由于工作需要,需要研究常用的集中序列化方式,主要目的是对象序列化后占用空间会大大减少,便于存储和传输,下面是几种序列化方式的使用demo 1. Java自带的Serialize 依赖jar包:无 ...

  6. java string 反序列化_java序列化和反序列化

    引语: 平时我们在运行程序的时候,创建的对象都在内存中,当程序停止或者中断了,对象也就不复存在了.如果我们能将对象保存起来,在需要使用它的时候在拿出来使用就好了,并且对象的信息要和我们保存 时的信息一 ...

  7. java中对象的序列化和反序列化

    [对象的序列化和反序列化 ] 1.定义: 序列化--将对象写到一个输出流中.反序列化则是从一个输入流中读取一个对象.类中的成员必须是可序列化的,而且要实现Serializable接口,这样的类的对象才 ...

  8. 谈谈:.Net中的序列化和反序列化

    序列化和反序列化相信大家都经常听到,也都会用, 然而有些人可能不知道:.net为什么要有这个东西以及.net Frameword如何为我们实现这样的机制, 在这里我也是简单谈谈我对序列化和反序列化的一 ...

  9. Java对象表示方式1:序列化、反序列化和 transient 关键字的作用

    前言快速到底 平时我们接触到的 Java 对象全都是在内存中的对象(它像磁盘中的一个个文件那样实实在在的存在着),所以它是无法进行 IO 操作或者网络通信的,因为在进行 IO 操作或者网络通信的时候, ...

最新文章

  1. JVM堆新生代分配比例
  2. 出国留学想申请国家留学基金委的奖学金?传说中的csc! 从这里入手就对了!
  3. VTK:可视化之VectorField
  4. 从零开始学习docker(九)持久化存储和数据共享之 bind Mounting
  5. 深入理解脚本化CSS系列第五篇——动态样式
  6. localhost与127.0.0.1之间的关系更改
  7. opencv 学习第三课 画线段 圆 椭圆 矩形 多边形 插入文字 代码注释版 保证你每一行都能读懂
  8. Linux内核【链表】整理笔记(1)
  9. python能print中文吗_python用print输出中文字符
  10. 关系型数据库学习手记——初见倾心PostgreSQL、MySQL、SQLite、MongoDB
  11. 小知识 定位测绘领域中全站仪/接收机RTK精度1cm+1ppm的含义
  12. HDCP认证过程-收集网上的,作为记录
  13. 使用Excel批量生成sql,包括日期格式
  14. 如何有效突破微信每天限加20个好友的技巧
  15. Vue 关闭浏览器清除Cookies
  16. css3中3D变换的景深和灭点
  17. 基于51单片机的心率脉搏计检测系统
  18. 上海在职研究生计算机专业考什么,中国人民大学计算机专业在职研究生考试考什么?...
  19. 使用restTemplate启动报错:Field restTemplate in com.demo.service.OrderToMemberService required a bean of ty
  20. 特朗普纽约投资项目售价8.5亿

热门文章

  1. Python——cv2图片识别
  2. 00后大学生:精美绝伦的微积分教科书
  3. canopen7.0-PDO双机通讯
  4. 一个来自大四留学生的感悟与崛起
  5. oracle安装报错:orcl:orcl
  6. 各类加载loading动画效果
  7. Debian 12 + NVIDIA驱动:给人工智能爱好者的安装指南
  8. 专访港科大教授张晓泉:AI目前多做预测分类,还需经济学发现因果关系
  9. Java开发Word转PDF技术栈汇总
  10. 毕业设计—校园社团活动助手小程序