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

时间:2013-06-01 21:26:08

标签: python json rest python-requests

我正在使用python requests module向服务器发送RESTful GET,我在JSON中得到了响应。 JSON响应基本上只是一个列表列表。

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

3 个答案:

答案 0 :(得分:341)

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

import requests

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

autodetects which decoder to use

答案 1 :(得分:232)

您可以使用json.loads

import json
import requests

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

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

答案 2 :(得分:0)

您可以直接使用 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"]

注意因为这是一本字典,所以你应该注意关键的拼写和大小写,即“总计”与“总计”不同