Я пытаюсь конвертировать XML в JSON, используя библиотеку org.JSON. Однако, когда в XML есть только один элемент, он не может преобразовать элемент в массив.
source.xml
<users>
<user>user1</user>
</users>
Код для конвертации:
File xml= new File("src/main/resources/xml/source.xml");
String data = FileUtils.readFileToString(xmlFile, "UTF-8");
String value = XML.toJSONObject(data).toString();
Выход:
{
"users": {
"user": "user1"
}
}
Я пробовал с несколькими вариантами,
как
<users>
<?xml-multiple?>
<user>user1</user>
</users>
Выход:
{"users":{"user":"user1"}}
и с json: Array = 'true'
<users>
<user json:Array='true'>user1</user>
</users>
Вывод:
{"users":{"user":{"json:Array":true,"content":"user1"}}}
и, похоже, ничего не работает. Я пробовал также с библиотеками fastxml и unxml.
Ожидаемый результат:
{
"users": {
"user": ["user1"]
}
}
Есть ли какая-нибудь библиотека или способ сделать это на Java?