SpringBoot jackson提供对LocalDate的支持方式是什么
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章的内容主要围绕SpringBoot jackson提供对LocalDate的支持方式是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅
千家信息网最后更新 2026年11月01日SpringBoot jackson提供对LocalDate的支持方式是什么
这篇文章的内容主要围绕SpringBoot jackson提供对LocalDate的支持方式是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!
jackson提供对LocalDate的支持
SpringBoot默认使用jackson来进行json格式转换,我们在配置文件中加入如下配置可以统一的改变Spring MVC返回值的日期格式类型
spring.jackson.date-format=yyyy-MM-ddspring.jackson.time-zone=GMT+8spring.jackson.serialization.write-dates-as-timestamps=false
但是这个配置对于java8新提供的日期APILocalDate、LocalDateTime等无效。
解决办法
引入依赖
com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.8.9
启动主类添加如下代码
@SpringBootApplicationpublic class GroupApplication { public static void main(String[] args) { SpringApplication.run(GroupApplication.class, args); } /** * 提供jackson对LocalDate等java8提供的日期的序列化支持 */ @Bean(name = "mapperObject") public ObjectMapper getObjectMapper() { ObjectMapper om = new ObjectMapper(); JavaTimeModule javaTimeModule = new JavaTimeModule(); javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss"))); om.registerModule(javaTimeModule); return om; }}使用Jackson格式化LocalDate对象
LocalDate可以很方便的对日期进行处理,但是在返回给前端时,展示为如下的JSON结构:
{ "dayOfWeek": "FRIDAY", "month": "JANUARY", "year": 2020, "dayOfMonth": 3, "era": "CE", "dayOfYear": 3, "monthValue": 1, "chronology": { "calendarType": "iso8601", "id": "ISO" }}前端组件就很难处理了。接下来,我们需要将此属性反序列化并从JSON字符串序列化。为此,我们可以使用@JsonDeserialize和@JsonSerialize来注释该类的LocalDate属性,时期成为前端组件需要的String格式。
实现LocalDateDeserializer和LocalDateSerializer
下面是LocalDateSerializerand LocalDateDeserializer类的定义。
public class LocalDateDeserializer extends StdDeserializer{ protected LocalDateDeserializer() { super(LocalDate.class); } @Override public LocalDate deserialize(JsonParser parser, DeserializationContext context) throws IOException { return LocalDate.parse(parser.readValueAs(String.class)); }}
public class LocalDateSerializer extends StdSerializer{ public LocalDateSerializer() { super(LocalDate.class); } @Override public void serialize(LocalDate value, JsonGenerator generator, SerializerProvider provider) throws IOException { generator.writeString(value.format(DateTimeFormatter.ISO_LOCAL_DATE)); }}
实体类添加注解
实体类添加如下的注解
@JsonDeserialize(using = LocalDateDeserializer.class) @JsonSerialize(using = LocalDateSerializer.class) private LocalDate date;
感谢你的阅读,相信你对"SpringBoot jackson提供对LocalDate的支持方式是什么"这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注网站!小编会继续为大家带来更好的文章!
支持
日期
格式
前端
序列
配置
方式
内容
实体
属性
文章
注解
篇文章
组件
处理
为此
接下来
代码
兴趣
办法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技巨头监管
智能科技公司是互联网公司吗
万易互联网科技有限公司
紫鲸互联网科技
碳银互联网科技有限公司
互联网科技的未来发展
天扬科技互联网广告
中国互联网金融科技基金
成都玖崟互联网科技有限公司乐商圈怎么样
随着互联网科技发展
彤创互联网科技有限公司
新兴科技互联网创新大赛颁奖典礼
中国科技创新与世界互联网大会
佛山市翊博互联网络科技有限公司
北京市互联网新科技
21世纪互联网科技成就
富国互联网金融科技混合基金
上海乐五互联网科技有限公司
中国新注册互联网科技
瑞安市蟠桃会互联网科技有限公司
宜安科技 互联网金融
新华互联网科技校企合作
成都玖崟互联网科技有限公司乐商圈怎么样
科技互联网大厂
赶超互联网科技 微信多开
新兴科技互联网创新大赛颁奖典礼
本届互联网博览会上的黑科技
科技大学互联网
锡山区互联网智能科技产品供应
福建互联网展示科技馆设计