ObjectMapper не отображает внутреннее значение объекта объекта

#java #java-8 #objectmapper #modelmapper

#java #java-8 #objectmapper #modelmapper

Вопрос:

Существует такой User объект:

 public class User {
    private String name;
    private String family;
    private Book book;
    // With its own setter amp; getter methods
}
 

И следующий код используется для преобразования из LinkedHashMap значения в User объект:

 LinkedHashMap result = linkedHashMap.get("principal");
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
User user = objectMapper.convertValue(result, User.class);
 

Но после objectMapper.convertValue того, Book как объект User находится null , пока LinkedHashMap result он имеет значение объекта book.

Как мне решить мою проблему?

Редактировать: необходимо упомянуть Book , что у объекта тоже есть свой собственный объект, и я тоже хочу отобразить объект Book .

LinkedHashMap Значение здесь

Комментарии:

1. Имеет ли объект book и его соответствующие получатели надлежащие модификаторы доступа? Также трудно сказать, почему это происходит, не видя, что на самом деле содержит LinkedHashMap

2. можете ли вы поделиться содержимым результата и класса Book тоже?

3. На что похож ваш документ JSON?

4. Я поместил изображение LinkedHashMap

Ответ №1:

Я решаю проблему, перейдя с ObjectMapper на ModelMapper, например:

 ModelMapper.map(result, User.class);