java - JSON解析错误: Cannot deserialize value of type `java.time.LocalDateTime` from String

标签 java json spring jackson postman

我正在向具有updatedDate属性的外部服务发送请求

@UpdateTimestamp
@Column(name = "updated_date")
private LocalDateTime updatedDate;

当我在 DTO 中收到响应时,我尝试像这样设置 LocalDateTime 属性的格式

@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss")
private LocalDateTime updatedDate;

但是我在 Postman 中遇到错误

"message": "JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime` from String \"2020-04-14T10:45:07.719\": Text '2020-04-14T10:45:07.719' could not be parsed at index 14; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.time.LocalDateTime` from String \"2020-04-14T10:45:07.719\

最佳答案

输入字符串中有毫秒,因此格式应为“yyyy-MM-dd'T'HH:mm:ss.SSS”

更新: 如果毫秒部分由 1、2、3 位数字组成或者是可选的,则可以使用以下格式:

@JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss[.SSS][.SS][.S]")
private LocalDateTime updatedTime;

关于java - JSON解析错误: Cannot deserialize value of type `java.time.LocalDateTime` from String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61202937/

相关文章:

java - 即使程序在 excel 中将 resukt FALSE 放入数据中,数据仍然匹配 - Selenium Web 驱动程序

java - 无法从 Spring Security 保护中排除某些 URL

json - 将 JSON 发布到 REST API

java - 使用 @PropertySource 和外部 JSON 文件进行 Spring 属性配置

java - 下面的 SpEL 表达式到底做什么?

java - 从 log4j 附加程序中的 WEB-INF 文件夹加载属性文件

java - 从java中的另一个窗口获取值

javascript - 如何使用 swift3 从 alamofire 响应中获取字典数组的值

java - Jackson:反序列化为不同类型

当 Hibernate 应用程序加载数据以供只读使用时 Oracle 死锁