【问题标题】:Jackson-alternative to SimpleXML's @ElementListUnionJackson-替代 SimpleXML 的@ElementListUnion
【发布时间】:2022-12-15 05:31:16
【问题描述】:

使用 SimpleXML 在 Java 中序列化可能包含不同类型元素的列表,您可以使用诸如

class Root {
  @ElementListUnion({
    @ElementList(entry = "Foo", type = Foo.class, inline = true),
    @ElementList(entry = "Bar", type = Bar.class, inline = true)
  })
  protected List<Object> fooOrBar;
}

这最终将被序列化为

<Root>
  <Foo>
    {correct Foo serialization}
  </Foo>
  <Bar>
    {correct Bar serialization}
  </Bar>
</Root>

@ElementListUnion 是否有任何 Jackson 替代方案或解决方法?我可以创建一个自定义序列化程序——我将如何创建一个只会根据类型更改名称的自定义序列化程序?

使用 Jackson 时,我似乎无法找到实现相同目标的方法。使用@JacksonXmlElementWrapper 和/或JacksonXmlProperty 可以获得的最接近结果是类似于

<Root>
  <fooOrBar>
    {correct Foo serialization}
  </fooOrBar>
  <fooOrBar>
    {correct Bar serialization}
  </fooOrBar>
</Root>

【问题讨论】:

    标签: java jackson xml-parsing simplexml jackson-dataformat-xml


    【解决方案1】:

    目前没有@ElementListUnion 的 Jackson 替代方案或解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      相关资源
      最近更新 更多