355

我正在使用 pythonrequests模块将 RESTful GET 发送到服务器,为此我得到 JSON 响应。JSON 响应基本上只是一个列表列表。

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

4

3 回答 3

624

由于您使用的是requests,因此您应该使用响应的json方法。

import requests

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

自动检测要使用的解码器

于 2013-06-01T21:44:29.480 回答
409

您可以使用json.loads

import json
import requests

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

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

或者您可以使用@Martijn 的有用建议和投票率较高的答案response.json()

于 2013-06-01T21:28:30.617 回答
11

您可以直接将 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'不同

于 2021-07-23T14:02:09.077 回答