Java Jackon 2.4.2未能反序列化有效日期,即使在指定日期格式之后也是如此

Java Jackon 2.4.2未能反序列化有效日期,即使在指定日期格式之后也是如此,java,json,date,jackson,deserialization,Java,Json,Date,Jackson,Deserialization,我正在尝试用自定义日期格式反序列化JSON。即使我在对象映射器上设置了日期格式,它仍然失败: SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); mapper.setDateFormat(dateFormat); 然后,我尝试使用该映射器反序列化以下JSON: {

我正在尝试用自定义日期格式反序列化JSON。即使我在对象映射器上设置了日期格式,它仍然失败:

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
    mapper.setDateFormat(dateFormat);
然后,我尝试使用该映射器反序列化以下JSON:

{
  "id": 11,
  "confirmed": false,
  "creationDate": "2015-04-20T22:27:41Z",
  "lastUpdateDate": "2015-04-20T22:27:41Z",
  "name": "test"
}
使用该行:

Test test = mapper.readValue(jsonString, Test.class);
它失败于:

com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not construct instance of java.util.Date from String value '2015-04-20T22:27:41Z': not a valid representation (error: Failed to parse Date value '2015-04-20T22:27:41Z': Unparseable date: "2015-04-20T22:27:41Z")
知道我做错了什么吗?我似乎不知道我错过了什么


谢谢大家!

使用
yyyy-MM-dd'HH:MM:ssX
Z
用于RFC 822时区,而Z不是这样的时区
X
表示ISO 8601时区,Z表示这样的时区