如何使用Jackson和ObjectMapper解析格式为“2016-08-07T08:50:06.000Z”的日期

时间:2016-09-09 11:58:26

标签: java-8 jackson

我正在尝试使用Jackson和Java 8以上述格式解析Json,但无法这样做。 这是我的代码 -

String date = "{\"requestDate\":\"2016-08-07T08:50:06.000Z\"}";
TestPOJO testPOJO = new ObjectMapper().readValue(date, TestPOJO.class);
System.out.println("testPOJO" + testPOJO.toString());

TestPojo.java

@AllArgsConstructor
@NoArgsConstructor
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class TestPOJO {
    @JsonProperty("requestDate")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS", timezone = "GMT")
    private LocalDateTime testDate;
}

但是对于相同的模式,我能够将其解析为Calendar对象。 是否有一种方式模式可以直接将其解析为LocalDateTime对象?

1 个答案:

答案 0 :(得分:1)

注册jackson-datatype-jdk8模块将解决您的问题。

ObjectMapper mapper = new ObjectMapper().registerModule(new Jdk8Module());