jackson完全忽略与JAXBXML相关的注解

cxfofazt  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(288)

想象一下,当您有一个java模型时,您必须将它序列化为xml和csv。
我正在使用 Jaxb Marshaller 对于xml和jackson的 CsvMapper ( ObjectMapper )用于csv。
由于格式略有不同,我想要Jackson的 CsvMapper 忽略 Jaxb 相关注解,如 @XmlType 或者 @XmlElement . 因为jackson也在获取信息/考虑xml注解,这会导致错误的结果。
我该怎么做?

ki0zmccv

ki0zmccv1#

这就是你创造新事物的方式 CsvMapper :

CsvMapper csvMapper = new CsvMapper();
csvMapper.findAndRegisterModules();
``` `findAndRegisterModules` 方法调用 `findModules` 文件上说:
用于定位可用方法的方法,使用jdk serviceloader工具以及模块提供的spi。
所以,可能类路径上有jackson模块jaxb注解模块,这就是原因 `CsvMapper` 认识到 `JAXB` 注解。
要修复它,您需要删除此方法的调用 `findAndRegisterModules` 只注册你需要的模块。

相关问题