Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得“价值”;摘录;来自Wikipedia JSON响应的密钥_Json_Python 3.x_Api - Fatal编程技术网

如何获得“价值”;摘录;来自Wikipedia JSON响应的密钥

如何获得“价值”;摘录;来自Wikipedia JSON响应的密钥,json,python-3.x,api,Json,Python 3.x,Api,我想在Python3中读取WikipediaJSON响应中“extract”键的值。我正在测试的URL是 反应是这样的 { "batchcomplete": "", "query": { "pages": { "49728": { "pageid": 49728, "ns": 0, "title": "San Francisco", "extract": "<p><b>San Fr

我想在Python3中读取WikipediaJSON响应中“extract”键的值。我正在测试的URL是

反应是这样的

{
  "batchcomplete": "",
  "query": {
    "pages": {
      "49728": {
        "pageid": 49728,
        "ns": 0,
        "title": "San Francisco",
        "extract": "<p><b>San Francisco</b></p>"
      }
    }
  }
}
{
“批处理完成”:“,
“查询”:{
“页数”:{
"49728": {
“pageid”:49728,
“ns”:0,
“标题”:“旧金山”,
“摘录”:“旧金山

” } } } }
我删除了很多内容

现在的问题是如何以编程方式读取页码。页码随搜索的不同而变化。我绝对不想硬编码页码。我应该用什么代替页码

content = response.query.pages.<page number>.extract
content=response.query.pages..extract

有没有办法从pages标记中提取密钥,然后继续获取其值?

我发现我可以使用Python的.keys()方法解决这个问题。是我干的

key = list(response['query']['pages'].keys())
print(response['query']['pages'][key[0]]['extract'])

一种可能的方法是使用
.keys()
方法

page_number=list(json[“query”][“pages”].keys())[0]

可能会有所帮助。谢谢。我也在想同样的事情。找到了一个解决方案。我想知道维基百科API返回了多少页,他们不得不接受这样的API设计?