簡體   English   中英

用傑克遜反序列化xml多態列表

[英]deserialize xml polymorphic list with jackson

我在反序列化以下xml時遇到問題:

<root>
  <apples>
    <apple>
      <id>1</id>
      <weight>0.6</id>
    </apple>
    <apple>
      <id>2</id>
      <weight>0.7</id>
    </apple>
  </apples>
</root>

到Java:

public class Root {
  private List<Fruits> fruits;
}

在上面的xml源代碼中,其他變體可能是例如oranges / orange等。由於這是xml專有文件,因此我無法更改其架構。 默認情況下,我使用@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT)@JsonSubTypes({/*fruits subtypes listed*/}) 經過幾次失敗的嘗試后,我不確定要解決此問題的正確映射/配置是什么。

開箱即用, JacksonJSON解析器,而不是XML

Jackson擴展允許XML轉換。 有關更多信息,請參見http://wiki.fasterxml.com/JacksonExtensionXmlDataBinding 但是對於這種情況,似乎純XML解析器可能更好。

也許是javax.xml.stream.*包。

http://www.javacodegeeks.com/2013/05/parsing-xml-using-dom-sax-and-stax-parser-in-java.html了解更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM