#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);