Джексон не может конвертировать строку в OffsetDateTime - PullRequest
0 голосов
/ 05 марта 2020

У меня есть класс, такой как

import java.time.OffsetDateTime;

public class AState {
    AName name;
    String message;
    OffsetDateTime updatedAt;


public AssetStatusState() {
  }
}
//getters and setters follow

, который импортируется как зависимость maven в моем проекте. В моем проекте я получаю строку JSON из шины событий и пытаюсь проанализировать ее для объекта типа AState. Строка JSON имеет вид:

{"name":"comps", "message":"ok", "updatedAt":"2020-03-05T02:31:17.683Z"}

Я пытаюсь разобрать это следующим образом:

this.objectMapper.convertValue(someString, AState.class)

Когда я создаю свой основной объект, я также делаю

this.objectMapper.register(new JavaTimeModule());

Но я все еще не могу устранить эту ошибку - я не знаю, что я делаю неправильно, кто-то может помочь?

Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: 
Cannot construct instance of `java.time.OffsetDateTime` 
(no Creators, like default construct, exist): no String-argument constructor/factory method 
to deserialize from String value ('2020-03-05T02:31:17.683Z')
 at [Source: UNKNOWN; line: -1, column: -1]

Однако в автономном тесте десериализация работает как шарм. Есть ли проблема со строкой JSON?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...