Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么';解析来自请求库的JSON响应的最佳方法是什么?_Python_Json_Rest_Python Requests - Fatal编程技术网

Python 什么';解析来自请求库的JSON响应的最佳方法是什么?

Python 什么';解析来自请求库的JSON响应的最佳方法是什么?,python,json,rest,python-requests,Python,Json,Rest,Python Requests,我正在使用python向服务器发送RESTful GET,并得到JSON响应。JSON响应基本上只是一个列表列表 强制响应本机Python对象的最佳方法是什么,以便我可以使用pprint进行迭代或打印?您可以使用: 这会将给定的字符串转换为字典,允许您在代码中轻松访问JSON数据 或者您可以使用@Martijn的有用建议和投票率较高的答案response.json()既然您使用的是请求,那么您应该使用response的方法 它。很好,但是每个元素仍然是unicode。@felix001:是的,尽

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

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

您可以使用:

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


或者您可以使用@Martijn的有用建议和投票率较高的答案
response.json()
既然您使用的是
请求
,那么您应该使用response的方法


它。

很好,但是每个元素仍然是unicode。@felix001:是的,尽管您可以使用
str()
转换任何数据。另一方面,unicode数据还不错(为将来做准备)。使用
response.json()
,会更好地了解所使用的编码。(免责声明,我写了一些代码)。@MartijnPieters:那么我以后如何在响应的memcached文本上使用请求json解析器呢?i、 e.有
response.text()
?@neurino的输出,您需要标准库。
requests.compat
模块用于连接不同的Python版本和
请求。compat.json
json
在几乎所有您关心的系统上都是一样的。请记住,它出现在v0.12和v1.0之间的某个地方,例如,Ubuntu 12.04 deb包用于Python请求还没有此功能(它是v0.8)。您可以
pip安装请求
而不是使用deb包。我有点好奇现在的
data
是列表还是字典。@Krishna_Oza
data
反映了它读取的JSON的结构。例如,如果响应是:
[{“a”:{…}}]
数据
是一个列表,其中
列表[0]=={'a':{…}
。如果回答是
{“a”:“b”,“c”:“d”}
数据
是一条指令。这是否回答了您的问题?@CGFoX您运行的是哪个版本?我仍然看到API在最新版本上以同样的方式工作:
>>import requests>>>r=requests.get('http://httpbin.org/get“)>>>r.json>>>r.json(){'args':{},…}
Upvote,因为我通常使用json.loads(response.text)方法,直到在一些大型json上我发现使用respons.json()时比另一条路快得多。
import json
import requests

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

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