SpringBoot中Jackson日期格式化的方法
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇"SpringBoot中Jackson日期格式化的方法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面
千家信息网最后更新 2026年11月03日SpringBoot中Jackson日期格式化的方法
这篇"SpringBoot中Jackson日期格式化的方法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"SpringBoot中Jackson日期格式化的方法"文章吧。
Jackson 日期格式化技巧
使用 Spring Boot 时,需要使用 Jackson 处理一些 Java Time API 类型的 JSON 序列化问题,在处理一些类的字段时,可以通过直接在属性上加注解的方式来指定其格式化样式。但是,昨天同事遇到一个格式化 Map 数据的问题,这样就不能通过加注解来解决格式化样式的问题了。
在网上各种搜索,各种尝试后,终于解决了这个问题,记录一下,以备不时之需。
闲言少叙,直接上代码:
package com.diguage.demo.config;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.util.StdDateFormat;import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.time.LocalDate;import java.time.LocalDateTime;import static com.fasterxml.jackson.databind.SerializationFeature.*;import static java.time.format.DateTimeFormatter.ofPattern;/ * 配置类 * * @author D瓜哥 · https://www.diguage.com */@Configurationpublic class Config { / * 创建 ObjectMapper 对象,配置日期格式化 * * @author D瓜哥 · https://www.diguage.com */ @Bean @Primary public ObjectMapper objectMapper() { ObjectMapper mapper = new ObjectMapper(); String dateTimepattern = "yyyy-MM-dd HH:mm:ss"; String datePattern = "yyyy-MM-dd"; DateFormat dateFormat = new SimpleDateFormat(dateTimepattern); mapper.setDateFormat(dateFormat); mapper.configure(WRITE_DATES_AS_TIMESTAMPS, false); mapper.setDateFormat(new StdDateFormat().withColonInTimeZone(true)); JavaTimeModule javaTimeModule = new JavaTimeModule(); javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(ofPattern(datePattern))); javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(ofPattern(datePattern))); javaTimeModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(ofPattern(dateTimepattern))); javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(ofPattern(dateTimepattern))); mapper.registerModule(javaTimeModule); return mapper; }}
后续问题
不知道通过这种方式指定日期格式化样式后,在处理一些打格式化样式注解的字段时,会有什么样的表现?有机会测试一下。
补充:Jackson 统一配置 日期转换格式
方式一:配置文件yml中配置
spring: jackson: default-property-inclusion: ALWAYS time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss
这样序列化后,Date类型会被格式化成配置中的格式。
方式二:配置类中配置创建JacksonConfig.java
@Configurationpublic class JacksonConfig { @Bean @Order(Ordered.HIGHEST_PRECEDENCE) public Jackson2ObjectMapperBuilderCustomizer customJackson() { return new Jackson2ObjectMapperBuilderCustomizer() { @Override public void customize(Jackson2ObjectMapperBuilder builder) { builder.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); builder.serializerByType(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); builder.serializerByType(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss"))); builder.deserializerByType(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); builder.deserializerByType(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); builder.deserializerByType(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern("HH:mm:ss"))); builder.serializationInclusion(JsonInclude.Include.NON_NULL); builder.failOnUnknownProperties(false); builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); } }; }}以上就是关于"SpringBoot中Jackson日期格式化的方法"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
格式
配置
日期
内容
问题
方式
样式
方法
注解
处理
字段
序列
文章
知识
篇文章
类型
不时之需
代码
价值
可以通过
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网龙头
互联网科技资迅
互联网与科技金融数据
互联网科技的未来发展
长亮科技 互联网金融
随着互联网科技发展
欧洲十大科技互联网公司
重庆威客帮互联网科技
互联网和黑科技的看法
消费医药和互联网科技
科技类公司包括互联网吗
996高科技互联网公司
区块链结合互联网科技
广东工业互联网大赛深圳学泰科技
互联网科技资金流入
湖北辰鑫科技互联网
科技互联网公司两年变化
互联网的科技体现在哪里
杭州融税互联网科技有限公司
如何强化互联网金融科技
互联网与科技
互联网科技名片
哈尔滨大商圈互联网科技有限公司
云之行互联网科技
唐信互联网科技
互联网科技股午盘股票涨跌
用友工业互联网科技发展
美国互联网科技公司
美国五大互联网科技公司市值多少
互联网高科技绘画