gpt4 book ai didi

java - 无法反序列化 `java.time.Instant` 类型的值 - Jackson

转载 作者:行者123 更新时间:2023-12-02 01:01:53 28 4
gpt4 key购买 nike

上这样的课

@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
public final class ActiveRecoveryProcess {

private UUID recoveryId;
private Instant startedAt;
}

我收到 com.fasterxml.jackson.databind.exc.InvalidFormatException 消息 Cannot deserialize value of typejava.time.Instantfrom String "2020-02-22T16:37:23": 无法反序列化 java.time.Instant: (java.time.format.DateTimeParseException) 无法在索引 19 处解析文本 '2020-02-22T16:37:23'

JSON 输入

{"startedAt": "2020-02-22T16:37:23", "recoveryId": "6f6ee3e5-51c7-496a-b845-1c647a64021e"}

jackson 配置

    @Autowired
void configureObjectMapper(final ObjectMapper mapper) {
mapper.registerModule(new ParameterNamesModule())
.registerModule(new Jdk8Module())
.registerModule(new JavaTimeModule());
mapper.findAndRegisterModules();
}

编辑

JSON 由 postgres 生成

jsonb_build_object(
'recoveryId', r.recovery_id,
'startedAt', r.started_at
)

其中 r.started_at 是时间戳。

最佳答案

您尝试解析的字符串 2020-02-22T16:37:23 不以 Z 结尾。 Instant 期望如此,因为它代表 UTC。它根本无法被解析。将字符串与 Z 连接以解决问题。

        String customInstant = "2020-02-22T16:37:23";

System.out.println("Instant of: " + Instant.parse(customInstant.concat("Z")));

关于java - 无法反序列化 `java.time.Instant` 类型的值 - Jackson,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60552531/

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