Joda Time / Jackson 2 / Spring的反序列化问题——无法实例化[simple type, cl



当尝试将包含日期字符串的JSON字符串反序列化为使用Joda的POJO时,我遇到了一个异常。

我正在使用Jackson2与Spring和Robospice。

我得到以下异常:

无法读取JSON: Can not instantiate value of type [simple type],类org.joda.time。DateTime] from字符串值(' 2014 - 07 - 25 t00:00:00 ');无单字符串构造函数/工厂方法

下面是我目前的代码:

MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter 
                            = new MappingJackson2HttpMessageConverter();
mappingJackson2HttpMessageConverter.getObjectMapper().registerModule(new JodaModule());
msgConverters.add(mappingJackson2HttpMessageConverter);
restTemplate.setMessageConverters(msgConverters);
HttpEntity<?> httpEntity = new HttpEntity<Object>(headers);
final ResponseEntity<HolidayList> responseEntity 
            = restTemplate.exchange(url, HttpMethod.GET, httpEntity,HolidayList.class);

POJO字段定义如下:

private DateTime departureDate;

我有这个工作在杰克逊1…

对于Maven用户:当您使用jackson和joda但忘记包含jackson- datattype -joda时,会出现此问题。对于这个答案的最新jackson版本(2.6.3),以下是您必须包含在您的pom文件中的依赖项。

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.6.3</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.6.3</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-joda</artifactId>
        <version>2.6.3</version>
    </dependency>

我相信我的问题很简单,我正在运行jackson joda组件的不同版本。

最后我在Gradle文件

中做了这个
String jacksonCore = 'com.fasterxml.jackson.core:jackson-core:'
String jacksonAnnotations = 'com.fasterxml.jackson.core:jackson-annotations:'
String jacksonDatabind = 'com.fasterxml.jackson.core:jackson-databind:'
String jacksonJoda='com.fasterxml.jackson.datatype:jackson-datatype-joda:'
String jacksonVersion = '2.4.1'

dependencies {
    compile jacksonCore + jacksonVersion
    compile jacksonAnnotations + jacksonVersion
    compile jacksonDatabind + jacksonVersion
    compile jacksonJoda + jacksonVersion

最新更新