Как преобразовать один элемент в XML в массив Json, если в XML существует только один элемент - PullRequest
0 голосов
/ 16 января 2019

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

...