SpringBoot里使用@JsonFormat进行日期json格式化总结

一、概述

在数据传输时,最常使用Json,正常的String转换没啥好讲的,但是日期时间类型的格式有很多,需要转换。本篇文章介绍使用Jackson格式化日期的各种方法,它被Spring Boot用作默认的JSON处理器。

1.1 maven依赖

spring-boot-starter-web默认引入了以下依赖:

二、使用@JsonFormat

2.1 设置格式

我们可以使用 @JsonFormat注释来格式化特定字段:

准备一条测试数据

返回结果

可以看到生日只显到示日期,而创建日期精确到时间。

可以看到,使用@JsonFormat注释格式化特定日期字段非常方便。但是,我们只应在需要字段的特定格式时使用它。如果我们想要在我们的应用程序中使用所有日期的通用格式,那么如何实现这一目标的方式更好,下面会有讲到。

2.2 设置时区

若要使用特定的时区,可以设置@JsonFormat的timezone属性:

北京时间东八区

2.3 配置默认格式

若要为应用程序中的所有日期配置默认格式,可以在application.properties中这样配置:

若在JSON日期中使用特定时区,还有这个属性:

2.4 自定义Jackson的ObjectMapper

就是借助这个类Jackson2ObjectMapperBuilderCustomizer实现

它还有一个优点是适用于Java8和遗留日期类型。

0

发表评论

邮箱地址不会被公开。