Предполагая следующий класс, который я хочу использовать для десериализации из внешней полезной нагрузки JSON:
public class MyObject {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
private ZonedDateTime timestamp;
}
Когда я пытаюсь использовать полезную нагрузку JSON, Джексон выдает следующую ошибку:
Cannot deserialize value of type `java.time.ZonedDateTime` from String "2019-01-23T12:54:18.610Z": Failed to deserialize java.time.ZonedDateTime: (java.time.format.DateTimeParseException) Text '2019-01-23T12:54:18.610Z' could not be parsed at index 23
Как видите, входящая строка - "2019-01-23T12:54:18.610Z"
, что, как я понимаю, является действительным ZonedDateTime.Используя jshell, синтаксический анализ этой строки в ZonedDateTime с использованием ZonedDateTime.parse("2019-01-23T12:54:18.610Z")
приводит к допустимому ZonedDateTime, как и следовало ожидать.
- Почему здесь происходит сбой Джексона?
- Что я могу сделать, чтобы сделатьэто работает?
Я тоже не эксперт по Спрингу или Джексону.Спасибо.
Редактировать: я использую Spring Boot v2.1.1.RELEASE.