从请求库解析JSON响应的最佳方法是什么?

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

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

739026 次浏览

你可以使用json.loads:

import json
import requests


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

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

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

因为你正在使用requests,你应该使用响应的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 "不一样