Jackson xml 根据复杂数组结构定义 bean

有 XML 数据, 但不知如何定义 bean.

发现几个注解就能解析复杂的数据结构. 这里记录一下, 备用.

例如, 以下数据结构:

<itemList attr="test">
    <item itemName="item1" />
    <item itemName="item2" />
</itemList>

定义的 bean 应该是:

@Getter
@Setter
@JacksonXmlRootElement(localName = "itemList")
public class ItemList{
    @JacksonXmlProperty(isAttribute = true)
    private String attr;
    @JacksonXmlElementWrapper(useWrapping = false)
    @JacksonXmlProperty(localName = "item")
    private List<Item> items;
}

@Getter
@Setter
public class Item{
    @JacksonXmlProperty(isAttribute = true)
    private String itemName;
}

参考:
https://stackoverflow.com/questions/19847094/jackson-xml-annotations-string-element-with-attribute
https://stackoverflow.com/questions/13179920/jackson-xml-deserialize-inline-array

猜你喜欢

转载自my.oschina.net/u/1169457/blog/1579507