首页 > 解决方案 > ObjectMapper 不映射对象的内部对象值

问题描述

User这样一个对象:

public class User {
    private String name;
    private String family;
    private Book book;
    // With its own setter & 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对象UsernullLinkedHashMap result具有 book 对象值的。

如何解决我的问题?

编辑:有必要提到Book对象也有自己的对象,我也想映射书的对象。

LinkedHashMap价值在这里

标签: javajava-8objectmappermodelmapper

解决方案


我通过从 ObjectMapper 更改为 ModelMapper 来解决问题,例如:

ModelMapper.map(result, User.class);

推荐阅读