与杰克逊一起返回特定日期格式

时间:2016-01-15 21:31:51

标签: json datetime jackson jersey-2.0

我试图将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”, 这仍然不是我想要的。

1 个答案:

答案 0 :(得分:0)

这是正确的格式:

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