我正在使用python requests
模块将RESTful GET发送到服务器,对此我得到了JSON响应。JSON响应基本上只是列表的列表。
强制对本地Python对象进行响应的最佳方法是什么,以便我可以使用进行迭代或打印出来pprint
?
我正在使用python requests
模块将RESTful GET发送到服务器,对此我得到了JSON响应。JSON响应基本上只是列表的列表。
强制对本地Python对象进行响应的最佳方法是什么,以便我可以使用进行迭代或打印出来pprint
?
Answers:
您可以使用json.loads
:
import json
import requests
response = requests.get(...)
json_data = json.loads(response.text)
这会将给定的字符串转换为字典,从而使您可以轻松地在代码中访问JSON数据。
或者,您可以使用@Martijn的有用建议以及投票较高的答案response.json()
。
str()
。另一方面,Unicode数据也不错(为将来做准备)。
response.json()
,因为它将更好地弄清楚所使用的编码。(免责声明,我写了一些代码)。
response.text()
?
requests.compat.json.loads(resp_text)
由于您正在使用requests
,因此您应该使用响应的json
方法。
import requests
response = requests.get(...)
data = response.json()
pip install requests
代替使用deb包。
data
它是列表列表还是字典。
data
反映了它正在读取的JSON的结构。例如,如果响应为:[{"a": {...}}]
,data
是带有的列表list[0] == {'a': {...}}
。如果响应为{"a": "b", "c": "d"}
,data
则为dict。这是否回答你的问题?
>>> import requests >>> r = requests.get('http://httpbin.org/get') >>> r.json <bound method Response.json of <Response [200]>> >>> r.json() {'args': {}, ...}