Java 17, jackson library - 避免 jackson for POJO to xml 编组

Java 17, jackson library - Avoid jackson for POJO to xml marshalling

提问人:SyAu 提问时间:11/14/2023 最后编辑:SyAu 更新时间:11/15/2023 访问量:77

问:

最近在我的项目中,基于 Spring 框架,添加了 jackson 库,

    <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-xml</artifactId>
        <version>2.13.4</version>
    </dependency>

这在许多方面影响了现有的 POJO 到 xml。作为一个有很多属性的 POJO,正在寻找一种方法来指示杰克逊不要这样做 在班级级别编组/干扰我的 POJO。是否有任何注释可以在课堂级别执行此操作?

    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "items"
    })
    @XmlRootElement(name = "data")
    public class Data
    {
    ...

添加 jackson 库后面临的问题:

  1. 根元素代替<Data><data>
  2. 列表属性被包装 - 通过添加 @JacksonXmlElementWrapper(useWrapping = false) 修复了这个问题,但我在 POJO 中有很多列表属性,无法单独添加。
Java 杰克逊 Jackson-dataformat-xml

评论

2赞 f1sh 11/14/2023
你什么意思?杰克逊的所作所为与以前发生的事情有什么不同?
0赞 SyAu 11/14/2023
嗨,@f1sh,更新了原始帖子,请看一下。
1赞 Polygnome 11/14/2023
您面临什么问题?因为 Jackson 只会“干扰”你的 POJO 如果你真的使用 Jackson 来编组/解组一个对象。你在做什么,你期望看到什么,你看到了什么,最重要的是,如果不是用它来序列化数据,你为什么要首先添加 jackson?
0赞 SyAu 11/14/2023
@Polygnome 该库由另一个团队添加,出于测试目的,我删除了 lib 和 xml 是可以的。在这个阶段,我无法删除该库并寻找解决方法。
2赞 VGR 11/14/2023
“面临的问题:根元素代替”是你在这里唯一的问题吗?你还有很多其他的话,我无法判断你是在问别的什么,还是只是在描述一些你不需要帮助的观察结果。<Data><data>

答: 暂无答案