0

所以我已经建立了我的杰克逊和乔达支持......

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 插入到我推入 ObjectMapper 的 JodaModule() 中?

4

1 回答 1

0

理论上,注释的使用@JsonFormat(pattern="..."),但我认为这种改进(使 Joda 模块数据类型识别和使用@JsonFormat)只会包含在 2.4.0 中。但是一旦发生这种情况,它将可用(它已经适用于 JDK 日期/时间类型,FWIW)。

但是您可能想要为 Joda 模块提交一个功能请求(在 github tracker 上发布),专门为 Joda 模块请求一个简单的功能,以“优化”UTZ 时区的输出。

于 2014-03-28T22:32:28.343 回答