java - 反序列化时在 Jackson 中为 JODA 配置日期时间格式

标签 java jackson jodatime

我在 Jackson 中使用“完整数据绑定(bind)”来反序列化 JSON 字符串中的日期。

这些日期的格式是“EEE MMM dd HH:mm:ss zzz yyyy”。

我正在使用 Jackson 1.8,但我不知道如何配置 ObjectMapper,以便它将这些字符串正确反序列化为 JODA DateTime 对象。

来自 POJO 的片段:

private DateTime deliveryTime;

@JsonProperty("DeliveryTime")
public void setDeliveryTime(DateTime deliveryTime) {
    this.deliveryTime = deliveryTime;
}

@JsonProperty("DeliveryTime")
public DateTime getDeliveryTime() {
    return deliveryTime;
}

谢谢。

最佳答案

配置 ObjectMapper 以使用特定日期/时间格式的最简单方法是调用 ObjectMapper.setDateFormat(...) 方法。

在创建新的 Joda 数据类型 Jackson 模块方面有一些初步计划,因为这将使添加强大的新配置变得更加容易;当前的挑战是 Jackson 本身不应该对外部库有硬性(静态)依赖性(尽管我个人非常喜欢 Joda!),这限制了特定于库的可配置性的工作程度。

关于java - 反序列化时在 Jackson 中为 JODA 配置日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7519965/

相关文章:

java - 使用 Joda Time 将 DateTime 减去 1 小时

java - @JsonProperty 未按预期工作

java - jackson :数组中缺少@JsonTypeInfo

java - 如何从Gradle外部库(JAVA)的文件夹中加载文件

java - HibernateCallback 最适合执行 SQL/过程吗?

android - spring RestTemplate 没有内容类型

java - 在 Java 中比较 java.sql.Time 的正确方法

java - 转换为 java.util.Date 时出现 Joda LocalDateTime IllegalFieldValueException

java - 同步可以作为AOP中的一个方面吗

java - GWT - 文本区域 - getText() - 如何保存一些格式?