gpt4 book ai didi

java - ISO 8601、JsonFormat、TimeZone 和末尾的 +0000 出现 InvalidFormatException

转载 作者:行者123 更新时间:2023-11-30 01:51:03 25 4
gpt4 key购买 nike

情况

我有一个通过 feign 调用微服务的 java 应用程序,但出现以下异常:

Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type java.util.Date from String "2019-05-08T14:41:39.803+0000": expected format "yyyy-MM-dd'T'HH:mm:ss.XXX"

我已经指出,我们从服务器获得的格式是 ISO8601,来自位于以下位置的测试:

https://github.com/FasterXML/jackson-databind/blob/master/src/test/java/com/fasterxml/jackson/databind/deser/jdk/DateDeserializationTest.java#L157

我正在尝试以下 @JsonFormat 注释,但它们失败了:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.XXX", lenient = OptBoolean.TRUE) private Date creationDate;

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.XXX", lenient = OptBoolean.TRUE) private Date lastUpdatedDate;

问题

所以...对于这个非常简单的问题表示歉意,但是:

如何处理末尾的 +0000 以使反序列化最终起作用?

最佳答案

How do I deal with the +0000 at the end in order to make the deserializing finally work?

@JsonFormat预计 SimpleDateFormat -兼容的模式定义。

因此,ZX 可用于指示 GMT 偏移值,具体取决于偏移格式。

您要查找的完整模式为 yyyy-MM-dd'T'HH:mm:ss.SSSZyyyy-MM-dd'T'HH:mm:ss .SSSX,如 SimpleDateFormat 的示例所示文档。

关于java - ISO 8601、JsonFormat、TimeZone 和末尾的 +0000 出现 InvalidFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56043504/

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