我使用python请求模块发送一个RESTful GET到服务器,为此我得到一个JSON响应。JSON响应基本上只是一个列表的列表。

什么是最好的方法来强制响应本机Python对象,以便我可以迭代或打印它使用pprint?


当前回答

你可以直接使用json响应作为字典:

import requests

res = requests.get('https://reqres.in/api/users?page=2')
print(f'Total users: {res.json().get("total")}')

或者你可以保存json内容作为字典:

json_res = res.json()

从这个json_res字典变量中,可以提取您所选择的任何值

json_res.get('total')
json_res["total"]

因为这是一本词典,所以你要注意关键的拼写和大小写。" total "和" total "不一样

其他回答

你可以使用json.loads:

import json
import requests

response = requests.get(...)
json_data = json.loads(response.text)

这将给定的字符串转换为字典,允许您在代码中轻松访问JSON数据。

或者您可以使用@Martijn的有用建议,以及投票较多的答案response.json()。

因为使用的是请求,所以应该使用响应的json方法。

import requests

response = requests.get(...)
data = response.json()

它会自动检测要使用的解码器。

你可以直接使用json响应作为字典:

import requests

res = requests.get('https://reqres.in/api/users?page=2')
print(f'Total users: {res.json().get("total")}')

或者你可以保存json内容作为字典:

json_res = res.json()

从这个json_res字典变量中,可以提取您所选择的任何值

json_res.get('total')
json_res["total"]

因为这是一本词典,所以你要注意关键的拼写和大小写。" total "和" total "不一样