我有以下代码加载JSON:
import json
import requests
r = requests.get('http://api.reddit.com/controversial?limit=5')
if r.status_code = 200:
reddit_data = json.loads(r.content)
print reddit_data['data']['children'][1]['data']
else:
print "Errror."
我收到了这条消息。
arsh@arsh:~$ python q.py
Traceback (most recent call last):
File "q.py", line 1, in <module>
import json
File "/home/arsh/json.py", line 5, in <module>
reddit_data = json.loads(r.content)
AttributeError: 'module' object has no attribute 'loads'
答案 0 :(得分:2)
您的主目录中有一个名为json.py
的不同文件:
File "/home/arsh/json.py", line 5, in <module>
这个文件挡住了,你没有导入标准库版本。将其重命名为其他内容或将其删除。您还必须删除json.pyc
文件。
请注意,requests
响应对象已经可以为您处理的JSON响应:
import requests
r = requests.get('http://api.reddit.com/controversial?limit=5')
r.raise_for_status()
reddit_data = r.json()
print reddit_data['data']['children'][1]['data']
Response.json()
method处理解码JSON,包括检测解码时使用的正确字符集。