gpt4 book ai didi

java - Jackson 日期反序列化 - "invalid"日期

转载 作者:行者123 更新时间:2023-11-29 09:40:29 25 4
gpt4 key购买 nike

我正在使用 Spring BootJackson 序列化/反序列化 JSON 请求/响应。我在尝试以 ISO 格式反序列化 Date 时遇到了一种我想避免的行为。

当我使用无效的月份日期或月份时,Jackson 通过向日期添加额外的天数/月数来处理它。

例如

{
"date": "2018-02-40T15:00:00+01:00"
}

被反序列化为 Mon Mar 12 15:00:00 CET 2018

或者

{
"date": "2018-14-20T15:00:00+01:00"
}

作为 2019 年 2 月 20 日星期三 15:00:00 CET

有没有办法以某种方式强制执行验证?我正在查看 Serialization 的列表和 Deserialization功能,但我找不到任何可能影响此行为的功能。

我正在使用旧的 Java 日期 API - java.util.Date

最佳答案

您的回答为我指明了正确的方向。自 2.9+ 起,Jackson 支持使用 @JsonFormat 注释进行宽松配置。

@JsonFormat(lenient = OptBoolean.FALSE)

所以我所要做的就是覆盖 POM 中 jackson.version 属性的值,因为我正在使用 Spring Boot 父 POM。

<jackson.version>2.9.4</jackson.version>

再次感谢!

关于java - Jackson 日期反序列化 - "invalid"日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48934700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com