使用 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"));
我正在尝试 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"));