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セマンティクスに関しては、フォーマット、インデントなどはあまり気にしません)。
事前に助けてくれてありがとう