Jackson-dataformat-xml дает неожиданные результаты по сравнению с другими библиотеками
Я оцениваю инструменты для преобразования XML-строки в Json в Java.
У меня проблема с Джексоном (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"
}
]
}
}
Однако, когда я использую XmlMapper, предоставляемый библиотекой Джексона, выходные данные сильно отличаются (и просто неверны!):new XmlMapper().readTree(xmlString).toString()
производит следующий JSON:
{"book":{"author":"Donald Knuth","title":"Concrete Mathematics"}}
Итак, мой вопрос: как мне достичь тех же результатов (с точки зрения семантики json, меня меньше волнует форматирование, отступы и т. Д.) С библиотекой Джексона?
Большое спасибо за помощь заранее