SpingBoot序列化以及反序列化
Posted 阿志@Duan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpingBoot序列化以及反序列化相关的知识,希望对你有一定的参考价值。
一、Java常见的序列化与饭序列化工具
1、jackson(springboot默认的序列化工具),jackson底层采用的是ObjectMapper技术进行序列化以及反序列化的。
2、alibaba-fastjson。
二、SpringBoot日期格式序列化(特定讲一下)
1、SpringBoot默认是可以接受时间戳格式自动转换成java.util.Date。默认是不支持字符串自动转成java.util.Data。
2、SpringBoot如何接收字符串自动转换成java.util.Date
2.1 全局处理方式 (配置文件)。
#Spring默认接收时间戳进行反序列化到Date。这样就可以同时支持时间戳或者自定义的字符串格式日期转java.util.Date
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#jackson默认的时区是Greenwich Time,我们所处的是东八区
spring.jackson.time-zone=GMT+8
接受请求
输出格式
2.2 具体字段具体处理方式
@JsonFormat这里会覆盖前面配置文件的格式
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
public class DataDTO { private String name; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") //用于application/json 可以决定序列化以及发序列化的格式 //@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //用于multipart/form-data表单提交方式 只能决定反序列化的格式 private Date create; private Integer count; private String cA; public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getCreate() { return create; } public void setCreate(Date create) { this.create = create; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } public String getcA() { return cA; } public void setcA(String cA) { this.cA = cA; } }
三、SpringBoot默认jacson序列化工具常用注解
以上是关于SpingBoot序列化以及反序列化的主要内容,如果未能解决你的问题,请参考以下文章
Flink实战系列Flink 1.14.0 消费 kafka 数据自定义反序列化器