我正在使用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': {}, ...}