Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSON-B在不改变模型类的情况下将日期字符串反序列化为joda DateTime_Java_Json_Jackson_Deserialization_Jsonb - Fatal编程技术网

Java JSON-B在不改变模型类的情况下将日期字符串反序列化为joda DateTime

Java JSON-B在不改变模型类的情况下将日期字符串反序列化为joda DateTime,java,json,jackson,deserialization,jsonb,Java,Json,Jackson,Deserialization,Jsonb,我正在将JSON日期字段反序列化到外部模型类中。请求如下所示: { "name": "Bob", "lastName":"Bobertson", "date": "2019-03-12" } 下面是我用来反序列化的代码。请注意,所调用的类是外部的,但与传入的请求相匹配 import javax.json.bind.Jsonb; private static Jsonb jsonb = JsonbBuilder.create(); public static External d

我正在将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:将json值反序列化为以下类型时出错:class org.joda.time.LocalDate


到目前为止,我找到的所有解决方案都涉及到注释模型以解释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> 

但不确定是否可以切换库

谢谢您的解决方案。杰克逊似乎为我的案子工作。不知道是否还有JAX JSON-B解决方案
<dependency>
  <groupId>com.fasterxml.jackson.datatype</groupId>
  <artifactId>jackson-datatype-joda</artifactId>
  <version>2.1.1</version>
</dependency>