[simple type, class java.time.LocalDateTime]; nested exception is com.fasterxml.jackson.databind.exc

解决JDK8中LocalDateTime(反)序列化问题,报错com.fasterxml.jackson.datatype:jackson-datatype-jsr310

注:在Java8中,LocalDateTime类型的字段默认不受SpringBoot支持,需要添加jackson-datatype-jsr310依赖以实现序列化和反序列化。解决方案包括在pom.xml中引入特定版本的依赖,并在LocalDateTime字段上使用@JsonSerialize,@JsonDeserialize和@JsonFormat注解来指定序列化和反序列化的类及时间格式。

默认情况下,SpringBoot 搭配 Java 8不支持LocalDateTime需要添加com.fasterxml.jackson.datatype:jackson-datatype-jsr310依赖

原因:没有添加序列化和反序列化

解决方案如下:

添加依赖

<!--        时间-->
        <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
        <version>2.13.0</version>
    </dependency>

为所有LocalDateTime字段添加序列化以及反序列化器注解,例如:

 @JsonSerialize(using = LocalTimeSerializer.class)
 @JsonDeserialize(using = LocalDateTimeDeserializer.class)
 @JsonFormat(pattern = "HH:mm:ss")
 private LocalTime xxx;
 
 @JsonSerialize(using = LocalDateTimeSerializer.class)
 @JsonDeserialize(using = LocalDateTimeDeserializer.class)
 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 private LocalDateTime xxx;
 
 @JsonSerialize(using = LocalDateSerializer.class)
 @JsonDeserialize(using = LocalDateTimeDeserializer.class)
 @JsonFormat(pattern = "yyyy-MM-dd")
 private LocalDate xxx;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值