使用 Jackson 返回特定日期格式

Returning specific date format with Jackson

我正在尝试 return json 对象上的日期作为特定格式: 这是格式:

"lastModified": "2015-08-04T13:09:15.000-07:00",

我有一个自定义的 ObjectMapper 可以执行此操作:

result.setDateFormat(new ISO8601DateFormat());

但是这个结果: "lastModified":“2015-08-04T20:09:15Z”

有什么想法可以改变吗? 我正在使用:

<dependency>
  <groupId>org.glassfish.jersey.media</groupId>
  <artifactId>jersey-media-json-jackson</artifactId>
  <version>2.22.1</version>
  <scope>runtime</scope>
</dependency>

在此之前,我使用了旧版本的: org.codehaus.jackson

更新: 添加此行后:

result.configure(com.fasterxml.jackson.databind.SerializationFeature.
        WRITE_DATES_AS_TIMESTAMPS , false);

并删除:

result.setDateFormat(new ISO8601DateFormat());

我得到了结果: "lastModified": "2015-08-04T20:09:15.000+0000", 这仍然不是我想要的。

这是正确的格式:

result.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"));