Как преобразовать значение LocalDate в Map с сериализацией / десериализацией Джексона? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть класс, который выглядит следующим образом:

class A {
Map<String, LocalDate> mapLocalDate;
Map<String, String> simpleMap;
String name;
}

Этот класс должен быть преобразован в Map , где ключ - это имя атрибута, а значение - значение атрибута. Для этого я использую Jackson ObjectMapper:

final ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.registerModule(new Jdk8Module());
    objectMapper.registerModules(new JavaTimeModule());

    objectMapper.configure(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS, false);
    objectMapper.configure(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, false);
    objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);

final Map<String, Object> fieldMap = this.objectMapper.convertValue(entityA, Map.class)

. Этот подход прекрасно работает для простых полей, таких как: "simpleMap", "name". Но не для одного со значением LocalDate (имя поля: "mapLocalDate") Преобразование выдает ошибку ниже:

enter image description here

java.util.Date не может бытьприведение к java.time.LocalDate

Может быть, кто-то сталкивался с подобной проблемой и мог бы подсказать, что не так в конфигурациях?

...