Json Response - Доступ к объектам в массиве - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь получить доступ к объекту в ответе Json, но не знаю как. Как я могу получить доступ к идентификатору 11, используя уверенность, где ObjID1 и ObjID2 являются уникальными UUID?

       "ObjID1": [
            {
                "ID": "11",
                "NAME": "XYZ",
                "GENDER": "M"
            }
        ]

        "ObjID2": [
            {
                "ID": "12",
                "NAME": "Z",
                "GENDER": "F"
            }
        ]


1 Ответ

0 голосов
/ 08 мая 2019

Чтобы подтвердить значение элемента, вы можете использовать

then().body("ObjID1.ID[0]", equalTo("11"))

Индексирование ID поле с [0] позволяет получить идентификатор первого объекта JSON в массиве.

Если выЕсли вы хотите получить это значение для дальнейшей обработки, вы можете извлечь его следующим образом:

JsonPath path = JsonPath.from("json file or json String");
List<HashMap<String, Object>> listOfJsonObjects = path.get("ObjID1");

Мы проанализировали JSON и, используя метод path.get, сохранили массив объектов JSON внутри List of HashMaps.Каждый элемент в списке - это объект JSON.

Чтобы получить доступ к первому объекту JSON, вы можете использовать

HashMap<String, Object> jsonObject = listOfJsonObjects.get(0);

, а затем, используя классические методы HashMap, вы можете получить определенный элемент в JSON.Объект, подобный этому:

jsonObject.get("ID");

Выше будет возвращено "11" Обратите внимание, что вам придется выполнить приведение к String, чтобы получить значение.Значения в HashMap являются объектами, поскольку объекты JSON в массиве могут содержать вложенные массивы или объекты.

String firstId = (String) jsonObject.get("ID");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...