java - 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
对象User
是null
而LinkedHashMap result
具有 book 对象值的。
如何解决我的问题?
编辑:有必要提到Book
对象也有自己的对象,我也想映射书的对象。
LinkedHashMap
价值在这里
解决方案
我通过从 ObjectMapper 更改为 ModelMapper 来解决问题,例如:
ModelMapper.map(result, User.class);
推荐阅读
- groovy - Groovy 中嵌套映射的默认值
- html - 服务器以 404 异常状态响应的 Angular 错误
- python - 用于比较数据框中的连续列然后更新该数据框中的列的矢量化方法
- visual-studio-code - 为什么 VSCode 必须打开一个新选项卡才能正确显示错误?
- java - 混合 web 和非 web cucumber/selenium 测试,避免创建 web 驱动程序
- javascript - 在 createApi redux-toolkit 中记录
- javascript - 如何从 vanilla JS 事件监听器修改 Vue 数据?
- packaging - 如何在打包的应用程序中注册 Shell 命名空间扩展?
- python - 在数据框选择查询 Pyspark 中访问局部变量
- java - 使用 Firebase 实时数据库和 Android (Java) 时 Firebase API 的异步行为问题