Анализ данных JSON с использованием GSON API

У меня есть данные JSON, и я могу получить данные JSON в строку.

Я хочу получить массив json из корневого объекта один за другим (используя цикл, если их много)

Возвращаемый объект должен иметь тип "com.google.gson.JsonObject", так как другой метод использует этот объект в качестве входных данных для получения значений атрибутов.

мой json выглядит так:

Мне понадобится массив json в "Ресурсы" -

{
    "totalResults": 2,
    "startIndex": 1,
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "Resources": [
        {
            "owner": {},
            "application": {
                "displayName": "Non Auth App",
                "value": "4028b88168fa3d38016900d1759405a6",
                "$ref": "http://localhost:8080/identityiq/scim/v2/Applications/4028b88168fa3d38016900d1759405a6"
            },
            "meta": {
                "created": "2019-03-22T18:40:30.505+05:30",
                "location": "http://localhost:8080/identityiq/scim/v2/Entitlements/297eff8a699f8b3a0169a5863769008b",
                "version": "W/\"1553260230505\"",
                "resourceType": "Entitlement"
            },
            "schemas": [
                "urn:ietf:params:scim:schemas:sailpoint:1.0:Entitlement"
            ],
            "displayableName": "reader",
            "aggregated": false,
            "id": "297eff8a699f8b3a0169a5863769008b",
            "requestable": true,
            "attribute": "Privileges",
            "type": "Entitlement",
            "descriptions": [],
            "value": "reader"
        },
        {
            "owner": {},
            "application": {
                "displayName": "Non Auth App",
                "value": "4028b88168fa3d38016900d1759405a6",
                "$ref": "http://localhost:8080/identityiq/scim/v2/Applications/4028b88168fa3d38016900d1759405a6"
            },
            "meta": {
                "created": "2019-03-18T19:11:47.912+05:30",
                "location": "http://localhost:8080/identityiq/scim/v2/Entitlements/297eff8a6990fc49016991096d08001e",
                "version": "W/\"1552916507912\"",
                "resourceType": "Entitlement"
            },
            "schemas": [
                "urn:ietf:params:scim:schemas:sailpoint:1.0:Entitlement"
            ],
            "displayableName": "admin",
            "aggregated": false,
            "id": "297eff8a6990fc49016991096d08001e",
            "requestable": true,
            "attribute": "Privileges",
            "type": "Entitlement",
            "descriptions": [],
            "value": "admin"
        }
    ]
}

Любая помощь приветствуется.

Что вы уже пробовали? Если вам не нужен класс POJO, десериализуйте JSON полезную нагрузку в класс JsonElement. В вашем случае вы даже можете использовать JsonObject, потому что корневым объектом является JSON object. См. пример из этого вопроса: Как проверить пустую строку массива перед созданием объекта json в java?

Michał Ziober 30.03.2019 10:49

Привет Михал, спасибо за ваш вклад!

Barca Fan 31.03.2019 09:08

Я смог добиться цели с помощью

Barca Fan 31.03.2019 11:29

Объект JsonObject = новый JsonParser().parse(response).getAsJsonObject(); Результаты JsonArray = object.get("Ресурсы").getAsJsonArray();

Barca Fan 31.03.2019 11:30
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
4
95
0

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