0

我正在评估用于将 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 语义而言,我不太关心格式、缩进等)?

非常感谢您提前提供的帮助

4

0 回答 0