jackson - jackson objectMapper 与其他人的区别
问题描述
我找不到关于杰克逊的 ObjectMapper 与其他映射器(如推土机/mapStruct/modelMapping/等)之间差异的任何解释。所有的文章都比较了 dozer/mapStruct/modelMapping 但他们忽略了 ObjectMapper。我不明白出了什么问题?是同一个映射器吗?
解决方案
Dozer、MapStruct和ModelMapping是Java Bean to Java Bean
映射器框架,它们递归地将数据从一个对象复制到另一个对象,逐个属性,逐个字段。
另一方面,ObjectMapper提供读取和写入的功能JSON
,既可以从基本 POJO 读取,也可以从通用 POJO读取和写入JSON Tree Model
。ObjectMapper
具有一些附加功能,例如转换对象(请参阅convertValue方法),但这不是创建此类的主要原因。
所以,如果你想在两个不同的模型之间实现复杂的映射,你应该使用映射器;如果您想将模型序列化为有效载荷JSON
或从JSON
有效载荷反序列化模型,您必须ObjectMapper
使用Jackson。
推荐阅读
- python - 为什么会出现,gyp ERR!堆栈错误:找不到 Python 可执行文件“python”?
- go - 检查函数是否被称为 goroutine
- excel - 使用 VBA 将多个 Excel 工作簿从特定文件夹导入单个工作表
- winapi - SAFEARRAY 数据到无符号字符*
- assembly - 我怎样才能更有效地编写这段代码?
- symfony - Symfony 4 表单、自定义 DTO 和实体关系
- java - 如何在Java中对同一包的类使用静态导入
- angular - Angular 清除订阅的更好方法
- java - 如何使用 Picasso 使用动态 URL 缓存来自 S3 存储桶的图像?
- angular - Angular-Router:Angular Application 子目录中的 Wordpress