Невозможно десериализовать значение типа `java.util.Date` из строки

Использование Spring 1.5.8.RELEASE Картограф Джексона дает следующее исключение.

Cannot deserialize value of type `java.util.Date` from String "2018-09-04T10:44:46": expected format "yyyy-MM-dd'T'HH:mm:ss.SSS"

в [Источник: НЕИЗВЕСТНО; строка: -1, столбец: -1] (через цепочку ссылок: com.copart.conversationapi.calldisposition.model.vo.CallLogEntity["callEndTime"])

CallEntity.java

@JsonProperty("callEndTime")
@Column(name = "call_end_ts")
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS")
private Date callEndTime;

ДАО.java

ObjectMapper mapper = new ObjectMapper();
HashMap<String, Object> finalHashMap;
finalHashMap = convertMultiToString(requestMap);
mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
CallLogEntity callLogEntity = mapper.convertValue(finalHashMap, CallEntity.class);

пом.xml

<dependency>
     <groupId>com.fasterxml.jackson.core</groupId>
     <artifactId>jackson-databind</artifactId>
     <version>2.9.0</version>
     <exclusions>
        <exclusion>
           <groupId>com.fasterxml.jackson.core</groupId>
           <artifactId>jackson-core</artifactId>
        </exclusion>
        <exclusion>
           <groupId>com.fasterxml.jackson.core</groupId>
           <artifactId>jackson-annotations</artifactId>
        </exclusion>
     </exclusions>
  </dependency>
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
34
0
53 782
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Измените свою строку @JsonFormat на эту.

@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")

Шаблон формата, который у вас есть прямо сейчас, предполагает, что жало будет иметь миллисекундные значения, но в вашей строке примера их нет.

Даже я пропускаю миллисекунды, а затем выдает исключение. Хотя миллисекунды для меня не так важны, и эта аннотация сработала отлично. Спасибо!

Utkarsh Gandhi 18.03.2019 19:49

Затем вы можете определить любой формат, который вы хотите, как в моем случае - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

dokam_scotland 21.06.2019 14:29

Другие вопросы по теме