Настроить формат даты и времени для JODA в Джексоне при десериализации - PullRequest
2 голосов
/ 22 сентября 2011

Я использую «Полное связывание данных» в Джексоне, чтобы десериализовать дату в строке 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;
}

Спасибо.

1 Ответ

2 голосов
/ 23 сентября 2011

Самый простой способ настроить ObjectMapper для использования определенного формата даты / времени - вызвать метод ObjectMapper.setDateFormat(...).

Существуют некоторые предварительные планы по созданию нового модуля Джексона с типом данных Joda, поскольку это сделает его оченьпроще добавить мощную новую конфигурацию;В настоящее время проблема заключается в том, что сам Джексон не должен иметь жесткой (статической) зависимости от внешних библиотек (насколько мне лично нравится Йода!), что ограничивает степень, в которой может работать специфичная для lib конфигурируемость.

...