Как преобразовать один элемент в XML в массив Json, если в XML существует только один элемент

Я пытаюсь конвертировать 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?

0 ответов

Другие вопросы по тегам