Arhn - архитектура программирования

Неожиданный токен (START_OBJECT), ожидался один из [..] для java.time.OffsetDateTime

Я разбираю этот объект JSON:

@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class HotelDataForCreate  {


    private OffsetDateTime fromDate;
    private OffsetDateTime toDate;

}

где я поставил эти значения:

OffsetDateTime start = OffsetDateTime.now();
OffsetDateTime end = start.plusMinutes(1);

но я получаю эту ошибку при разборе:

"message" : "JSON parse error: Unexpected token (START_OBJECT), expected one of [VALUE_STRING, VALUE_NUMBER_INT, VALUE_NUMBER_FLOAT] for java.time.OffsetDateTime value; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected token (START_OBJECT), expected one of [VALUE_STRING, VALUE_NUMBER_INT, VALUE_NUMBER_FLOAT] for java.time.OffsetDateTime value\n at [Source: java.io.PushbackInputStream@ac6960; line: 1, column: 1001] (through reference chain: com.pxs.weboffice.leads.crud.model.LeadDataForCreate["fromDate"])",
      "stackTrace" : "org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected token (START_OBJECT), expected one of [VALUE_STRING, VALUE_NUMBER_INT, VALUE_NUMBER_FLOAT] for java.time.OffsetDateTime value; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected token (START_OBJECT), expected one of [VALUE_STRING, VALUE_NUMBER_INT, VALUE_NUMBER_FLOAT] for java.time.OffsetDateTime value\n at [Source: java.io.PushbackInputStream@ac6960; line: 1, column: 1001] (through reference chain: com.pxs.weboffice.leads.crud.model.LeadDataForCreate[\"fromDate\"])\r\n\tat org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:238)\r\n\tat org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:223)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:201)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:150)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:128)\r\n\tat org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:158)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)\r\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)\r\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)\r\n\tat org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:707)\r\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)\r\n\tat org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:71)\r\n\tat javax.servlet.http.HttpServlet

Вот Json:

{
    ...
    "fromDate":{"offset":{"totalSeconds":7200,"id":"+02:00","rules":{"fixedOffset":true,"transitionRules":[],"transitions":[]}},"month":"JULY","year":2019,"hour":16,"minute":4,"nano":563000000,"second":38,"dayOfMonth":25,"dayOfWeek":"THURSDAY","dayOfYear":206,"monthValue":7},"toDate":{"offset":{"totalSeconds":7200,"id":"+02:00","rules":{"fixedOffset":true,"transitionRules":[],"transitions":[]}},"month":"JULY","year":2019,"hour":16,"minute":5,"nano":563000000,"second":38,"dayOfMonth":25,"dayOfWeek":"THURSDAY","dayOfYear":206,"monthValue":7}}

  • вы можете опубликовать пример своего JSON? 25.07.2019
  • По-видимому, нет простого способа десериализовать этот формат. Я думаю, вы уже сериализовали свои данные с помощью Джексона. Если у вас есть возможность изменить постоянные сериализованные данные или повторно сохранить их в другом формате, вы можете рассмотреть возможность использования JavaTimeModule для своего ObjectMapper, который находится внутри jackson-datatype-jsr310 пакета. Таким образом, вы можете без проблем сериализовать и десериализовать свои OffsetDateTime поля. Если вам интересно, я могу предоставить дополнительные образцы для вашей среды. 25.07.2019
  • Взгляните на Jackson Serialize Instant to Nanosecond Issue, Проблема с десериализацией LocalDateTime в тесте Junit, Джексон десериализует elasticsearch, пока LocalDateTime с Java 8 25.07.2019

Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..