当前位置:首页 » 《关注互联网》 » 正文

JSON parse error: Cannot deserialize value of type `java.util.Date` from String “2024-09-19 10:40:40

13 人参与  2024年10月29日 12:42  分类 : 《关注互联网》  评论

点击全文阅读


解决 JSON parse error: Cannot deserialize value of type 的问题

在使用 Feign 进行服务间通信时,可能会遇到 JSON parse error: Cannot deserialize value of type 异常,特别是在解析 JSON 响应时。例如,以下异常信息提示了一个关于日期格式的问题:
在这里插入图片描述

问题原因

该异常的根本原因是尝试将 JSON 字符串 "2024-09-19 10:40:43" 反序列化为 java.util.Date 类型时,Jackson 无法识别该格式。默认情况下,Jackson 使用 yyyy-MM-dd'T'HH:mm:ss.SSSZ 格式来解析日期,而我们的日期字符串不符合这个格式。

解决方案

更改日期格式:确保返回的 JSON 中的日期格式符合 Jackson 的默认格式,或使用自定义格式。

自定义反序列化:在 UserDto 类中,使用 @JsonFormat 注解指定正确的日期格式。例如:

 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date pwdResetTime;

全局配置:在 Spring Boot 的配置中,全局设置 Jackson 的日期格式:

@Beanpublic ObjectMapper objectMapper() {    ObjectMapper mapper = new ObjectMapper();    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);    mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));    return mapper;}

点击全文阅读


本文链接:http://m.zhangshiyu.com/post/179453.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1