SpringBoot jackson提供对LocalDate的支持方式是什么
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章的内容主要围绕SpringBoot jackson提供对LocalDate的支持方式是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅
千家信息网最后更新 2025年11月14日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安全错误
数据库的锁怎样保障安全
赛迪天地网络技术公司
海康视频存储管理服务器
瑞为技术人脸识别数据库
魂1重制版服务器
小公司文件管理服务器
通过网站能查服务器么
网络安全意识培训课后
dbs数据库文件怎么用
王秀军 网络安全与信息化
网络安全为人民手抄报字体
软件开发收入附加税
郑州启微网络技术有限公司
计算机网络技术和编程的区别
剑三无法连接服务器
idm服务器
什么网络技术可以定位终端
河北服务器搬迁找哪家云服务器
济宁管理软件开发服务公司
网络技术学院APP
win7 终端服务器
上海专业服务器
选择数据库最新一条
vb删除数据库指定数据库
怎么架设和网吧一样的服务器
绿联打印机网络服务器
松江CRT数据库密码
学习网络安全防护技术
1.12数据库肩部
建一个数据库用到的语言顺序
电子沙盘软件开发多少钱