我得到这个错误,我无法弄清楚的问题是什么:类型错误:JSON对象必须str的,而不是“响应”与Python 3.4
Traceback (most recent call last):
File "C:/Python34/Scripts/ddg.py", line 8, in <module>
data = json.loads(r)
File "C:\Python34\lib\json\__init__.py", line 312, in loads
s.__class__.__name__))
TypeError: the JSON object must be str, not 'Response'
这是我的代码:
import requests, json
search_q = input('Enter query: ')
r = requests.get('https://api.duckduckgo.com/?q=%s&format=json&pretty=1' % search_q)
if r.status_code == requests.codes.ok:
data = json.loads(r)
node = data['RelatedTopics']['Result']
print (str(node))
else:
bad_r.raise_for_status()
谢谢,但后来我得到:'TypeError:列表索引必须是整数,而不是str' – Y7da
然后,您正在错误地使用数据;可能'RelatedTopics'是一个列表,而不是字典。 –
如果我想检查返回的数据是否是json? – TomSawyer