序列化接收到的具有“LocalDateTime”数据类型的 JSON 对象 [重复]

Posted

技术标签:

【中文标题】序列化接收到的具有“LocalDateTime”数据类型的 JSON 对象 [重复]【英文标题】:Serialize JSON Object received that has data type 'LocalDateTime' [duplicate] 【发布时间】:2020-01-14 03:23:47 【问题描述】:

我有一个 Dto 类,它将使用 LocalDateTime 作为数据类型设置一个值。

收到 JSON 时出现错误。

public class Dto 

@JsonFormat(shape = JsonFormat.Shape.STRING)
    private LocalDateTime scheduledStartTime;



这是错误:

Cannot construct instance of `java.time.LocalDateTime` (no Creators, like default construct, exist): no String-argument constructor/factory method to deserialize from String value ('2019-08-01T15:30:00Z')

【问题讨论】:

【参考方案1】:

尝试禁用:

objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonSerialize(using = LocalDateTimeSerializer.class)

【讨论】:

在 DTO 中接收 JSON 期间或发送 JSON 期间? 我是序列化/反序列化的新手

以上是关于序列化接收到的具有“LocalDateTime”数据类型的 JSON 对象 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 DataContractSerializer 从 WCF 服务接收到的序列化响应

ROS学习之消息包

recvfrom() 不返回接收到的字节数

Spring Boot 2 没有序列化 LocalDateTime

Java8 对于LocalDateTime的序列化和反序列化

Junit测试中LocalDateTime反序列化的问题