我正在评估用于将 xml 字符串转换为 Java 中的 Json 的工具。
我对杰克逊有疑问(jackson-data-format-xml:2.8.8)
这是我存储在字符串值中的示例 XML xmlString
::
<books>
<book>
<author>Robert Marin</author>
<title>Clean code</title>
</book>
<book>
<author>Donald Knuth</author>
<title>Concrete Mathematics</title>
</book>
</books>
使用 org.json:json:20140107 jar,我想出了以下代码:
XML.toJSONObject(xmlString).toString(2);
输出如预期:
{
"books": {
"book": [
{
"author": "Robert Marin",
"title": "Clean code"
},
{
"author": "Donald Knuth",
"title": "Concrete Mathematics"
}
]
}
}
但是,当我使用 Jackson 库提供的 XmlMapper 时,输出是不同的(而且完全是错误的!):new XmlMapper().readTree(xmlString).toString()
产生以下 JSON:
{"book":{"author":"Donald Knuth","title":"Concrete Mathematics"}}
所以我的问题是:我应该如何使用 Jackson 库获得相同的结果(就 json 语义而言,我不太关心格式、缩进等)?
非常感谢您提前提供的帮助