java - 如何获取一个不断更改名称的 JSON 对象

标签 java android image android-studio wikipedia

我想从维基百科获取主图像 URL,但问题是 pageID 总是在变化,现在我不知道如何获取该 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?

最佳答案

您可以简单地获取对象的键值:

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

JSONObject.keys()

关于java - 如何获取一个不断更改名称的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62045591/

相关文章:

java - 我如何从中创建一棵树?

java - 片段无法工作并且有错误

android - 在没有互联网连接的情况下使用 WiFi

javascript - 无法加载正确捆绑的图像

java - 如何检查 boolean 表达式的所有可能性?

java - 如何在没有任何 XML 和 spring 特定注释的情况下使用 JSR 330 和 Spring 作为实现?

android - 更改全息微调器文本颜色

java - 谷歌电视插件 Android 模拟器低空间通知

php - 在 PHP 中检索到的图像显示不正确

php - 使用PDO从MySQL检索图像问题