【发布时间】:2012-12-07 08:43:27
【问题描述】:
有没有办法使用 Jackson 将以下 xml 反序列化为包含项目列表的 Map?
<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
}
}
}
}
【问题讨论】:
-
我不想使用 POJO 来保存订单数据。这里的想法是使用 Map 和 List 作为通用数据结构。
-
当人们使用
mapper.readTree(xml);时也会出现这个“问题”,人们可能希望它建立一个树状图
标签: xml serialization jackson