Jackson xml 序列化集合元素

使用 Jackson (com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.12.3) 并且进展顺利,除了细节。

我有一个这样的课程Foo

public class Foo {

  List<Bar> bars;
}

现在,Bar 是一个抽象类,我可以使用自定义反序列化器将 xml 反序列化为对象。这是特别需要的,因为输入的xml是形式

<foo>
  <abc:Foo>
    ....
  </abc:Bar>
  <def:Bar>
    ....
  </def:Bar>
</foo>

而且我必须从不同的 XSD 映射所有已知的 Foo 实现。

现在,对于对象序列化我想避免编写自定义序列化程序,因为 Jackson 的魔法应该可以很好地从对象读取字段和注释并将它们转换为 XML。唯一的问题是我得到了类似

的输出
<foo>
  <bars>
    ....
  </bars>
  <bars>
    ....
  </bars>
</foo>

因此,Jackson 似乎既没有阅读每个 JacksonXmlRootElement 实现上的 Bar 注释,也没有阅读 JsonRootName 注释。

关于如何通过注释或 ObjectMapper 配置来指导 Jackson 的任何想法?

hopefulyatou 回答:Jackson xml 序列化集合元素

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3118.html

大家都在问