0

Javaでxml文字列をJsonに変換するツールを評価しています。

jackson に問題があります (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