Как мне добраться до объекта JSON, который все время меняет свое имя - PullRequest
0 голосов
/ 27 мая 2020

Я хочу получить основной URL-адрес изображения из Википедии, но проблема в том, что идентификатор страницы всегда меняется, и теперь я не знаю, как добраться до URL-адреса. Это запрос api

https://en.wikipedia.org/w/api.php? 
action=query&titles=Max_Verstappen&prop=pageimages&pithumbsize=300&format=json

Это ответ

    {
    "batchcomplete": "",
    "query": {
        "normalized": [
            {
                "from": "Max_Verstappen",
                "to": "Max Verstappen"
            }
        ],
        "pages": {
            "41758713": {
                "pageid": 41758713,
                "ns": 0,
                "title": "Max Verstappen",
                "thumbnail": {
                    "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Max_Verstappen_2017_Malaysia_3.jpg/200px-Max_Verstappen_2017_Malaysia_3.jpg",
                    "width": 200,
                    "height": 300
                },
                "pageimage": "Max_Verstappen_2017_Malaysia_3.jpg"
            }
        }
    }
}

Это код, теперь я подумал, что пройду свой путь к URL-адресу с этим кодом

JSONObject jsonObject = new JSONObject(jsonResponse);
JSONObject query = jsonObject.getJSONObject("query");
JSONObject pages = jsonObject.getJSONObject("pages");

Но теперь я дохожу до того, что мне нужно знать pageID, но я не могу, потому что хочу получить много URL-адресов из многих статей Википедии. Так есть ли более простой способ добраться до URL-адреса?

1 Ответ

1 голос
/ 27 мая 2020

Вы можете просто получить значение ключа объекта:

JSONObject pages = jsonObject.getJSONObject("pages");
for (String key : pages.keys()) {
    System.out.println(key); // will print '41758713' from your example
}

JSONObject.keys ()

...