gpt4 book ai didi

java - JSON-B 将日期字符串反序列化为 joda DateTime 而不更改模型类

转载 作者:行者123 更新时间:2023-12-02 10:13:18 34 4
gpt4 key购买 nike

我正在致力于将 JSON 日期字段反序列化为外部模型类。该请求如下所示:

{
"name": "Bob",
"lastName":"Bobertson",
"date": "2019-03-12"
}

这是我用来反序列化的代码。请注意,所调用的类是外部的,但与传入的请求相匹配。

import javax.json.bind.Jsonb;

private static Jsonb jsonb = JsonbBuilder.create();

public static External deserExternal(String jsonRQ) {
return jsonb.fromJson(jsonRQ, External.class);
}

像下面这样调用这个方法会导致

javax.json.bind.JsonbException: Error deserialize JSON value into type: class org.joda.time.LocalDate

String jsonRQ= readFile("./path/to/file.json");
External externalRQ = deserExternal(jsonRQ);

到目前为止,我发现的所有解决方案都涉及注释模型以说明 joda 类型,但我没有该选项。如何通过仅编辑反序列化器来实现此目的,最好是允许它根据需要自动将日期字符串转换为 joda DateTime?

最佳答案

我通过 JACKSON 知道你可以使用类似的东西

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JodaModule());
mapper.readValue(jsonRQ, External.class);

Maven 依赖:

<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-joda</artifactId>
<version>2.1.1</version>
</dependency>

不确定是否可以切换库

关于java - JSON-B 将日期字符串反序列化为 joda DateTime 而不更改模型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54844949/

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