同操作教程无报错,Python requests请求API报JSONDecodeError如何解决
报错原因
- API域名拼写错误:代码中请求的地址是
http://ap.stackexchange.com/,正确的API域名为api.stackexchange.com,少写了字母i - 请求协议错误:Stack Exchange 公开接口仅支持HTTPS协议,使用HTTP请求会得到非JSON格式的错误响应内容,调用
response.json()方法无法解析非JSON结构的内容,因此触发解码错误。
报错信息中文翻译:
JSON解码错误:预期读取有效JSON值,位置在第4行第1列(字符偏移量6)
修正后可运行代码
import requests response = requests.get('https://api.stackexchange.com/2.3/questions?order=desc&sort=activity&site=stackoverflow') print(response.json())
注:原代码中的import json无实际作用,可直接删除,requests内置的json()方法已覆盖解析逻辑。
内容的提问来源于stack exchange,提问作者Harshal Tijare
相关产品推荐
相关产品推荐

