[英]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*/})
。 經過幾次失敗的嘗試后,我不確定要解決此問題的正確映射/配置是什么。
開箱即用, Jackson
是JSON
解析器,而不是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.