Возвращение динамического Json в службе отдыха - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь реализовать простой веб-сервис Restful с использованием Spring Boot.

В настоящее время я хочу проанализировать файл XML для объекта Json и вернуть его в качестве ответного сообщения.Однако в настоящее время у меня возникают проблемы с определением структуры возвращаемого объекта JSON, поскольку он может варьироваться в зависимости от файла XML, который я анализирую.

Это проанализированный пример XML-JSON того, что я 'm пытается вернуть.

{
    "App": {
        "CR": {
            "Product": {
                "PRequest": {
                    "MF": "dfl3",
                    "Pri": "0",
                    "PC": "age",
                    "PCode": "Hca"
                }
            }
        },
        "SD": {
            "SDF": {
                "PRP": {
                    "_cCao": "str1234",
                    "_cSao": "str1234",
                    "_dao": "2012-12-13",
                    "_dCao": "2012-12-13",
                    "_dr": "2012-12-13",
                    "_nIDta": "str1234",
                    "_no": "1234"
                }
            }
        }
    }
}

Есть ли способ вернуть динамический объект Json, структура которого определяется только во время выполнения?

1 Ответ

0 голосов
/ 22 октября 2018

Вы можете сделать это очень легко с помощью org.json:

String xmlString = "<note><to>Bill</to><from>Ben</from><body>Hello!</body></note>";
JSONObject jsonObject = XML.toJSONObject(xmlString);
String jsonString = jsonObject.toString();

// Evaluates to:
// {"note":{"from":"Ben","to":"Bill","body":"Hello!"}}

Это превратит строку XML в объект JSONObject, который затем можно будет манипулировать или превратить в строку JSON.

Если вы используете Maven, вы можете добавить зависимость для org.json, добавив ее в pom.xml:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20180813</version>
</dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...