所以我的杰克逊和乔达都支持所有设置......
ext.jackson = [version: '2.3.2']
...
compile "com.fasterxml.jackson.core:jackson-core:${jackson.version}"
compile "com.fasterxml.jackson.core:jackson-databind:${jackson.version}"
compile "com.fasterxml.jackson.core:jackson-annotations:${jackson.version}"
compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:${jackson.version}"
我的OjbectMapper配置为使用JodaModule()来格式化java.util.Dates
private static final ObjectMapper mapper = new ObjectMapper();
static {
// JodaModule gets Dates handled as ISO-8601 strings
JodaModule jodaModule = new JodaModule();
mapper.registerModule( jodaModule );
mapper.configure( SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false );
}
但我无法弄清楚如何让JodaModlue在我的POJO中格式化java.util.Date事件,例如“2014-02-07T21:29:19.032Z”而不是“2014-02-07T21:29 :19.032 + 0000" 。当我在Joda中“独立”时,咒语是ISODateTimeFormat.dateTime()。withZoneUTC()。如何将DateTimeFormatter插入JodaModule()我将其推入ObjectMapper?
答案 0 :(得分:0)
理论上,使用注释@JsonFormat(pattern="...")
,但我认为这种改进(使Joda模块数据类型识别并使用@JsonFormat
)仅包含在2.4.0中。但是一旦发生这种情况就可以使用(它已经适用于JDK日期/时间类型,FWIW)。
但您可能想要为Joda模块提交功能请求(在github跟踪器上发布),专门为Joda模块请求一个简单的功能,以便优化"输出UTZ时区。