杰克逊objectMapper与其他人之间的区别

问题描述

我找不到关于杰克逊的ObjectMapper与其他映射器(例如dozer / mapStruct / modelMapping / etc)之间的区别的任何解释。所有文章都比较dozer / mapStruct / modelMapping,但它们忽略了ObjectMapper。我不明白怎么了?是同一个映射器吗?

解决方法

DozerMapStructModelMappingJava Bean to Java Bean的映射器框架,它们递归地将数据从一个对象复制到另一个对象,逐个属性地逐个字段复制。

另一方面,ObjectMapper提供了与基本POJO或与通用JSON之间进行读写JSON Tree Model的功能。 ObjectMapper还有一些其他功能,例如转换对象(请参见convertValue方法),但这不是创建此类的主要原因。

因此,如果要在两个不同模型之间实现复杂的映射,则应使用映射器。如果要将模型序列化为JSON或从有效载荷JSON反序列化模型,则必须使用Jackson中的ObjectMapper

,

Jackson库-主要涉及将对象/实体转换为JSON并返回。

ModelMapper / MapStruct-有关将一个实体映射到另一个实体,例如将一个实体映射到其DTO。由于不同实体的大小和复杂性,该操作可能会变得非常粗糙,因此我们需要这些库来简化工作。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...