微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

杰克逊:使用列表反序列化来映射XML

有没有办法使用Jackson将以下xml反序列化为Map holding项目列表?
<order>
    <number>12345678</number>
    <amount>100.10</amount>
    <items>
        <item>
            <itemId>123</itemId>
            <amount>100.0</amount>
            <itemName>Item Name1</itemName>
        </item>
        <item>
            <itemId>234</itemId>
            <amount>200.00</amount>
            <itemName>Item Name1</itemName>
        </item>
    </items>
</order>

我试过了

XmlMapper mapper = new XmlMapper();
LinkedHashMap map = (LinkedHashMap)mapper.readValue(xml,Object.class);

并获得以下地图.列表中的第一项缺失.

{
    order={
        number=12345678,amount=100.1,items={
            item={
                amount=200.0,itemName=ItemName2,itemId=234
            }
        }
    }
}
通过扩展UntypedobjectDeserializer来创建一个自定义反序列化器来完成这项工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。