Python运行JSON脚本遇requests.exceptions.JSONDecodeError错误求助
关于
requests.exceptions.JSONDecodeError错误的原因解析 这个错误的核心是:你调用r.json()时,请求返回的内容不是有效的JSON格式,甚至可能是空内容,导致JSON解析器无法识别。针对你的代码,常见的触发原因有这几个:
请求被拦截,返回空内容
很多公共测试接口可能会因为地区网络、防火墙或反爬策略,拒绝你的请求,返回空字符串。这时候解析空内容自然会报Expecting value: line 1 column 1的错误。返回内容是HTML而非JSON
如果你的请求被识别为非浏览器请求(比如没有设置User-Agent),网站可能会返回验证页面,内容是HTML代码而非JSON。这种情况下r.json()完全无法解析。忽略了请求状态码
请求可能已经失败(比如返回403、500等错误状态),但你直接跳过状态判断去解析JSON。失败请求的响应内容通常不是JSON,自然会报错。
快速排查方法
在调用r.json()前,先打印这两个内容,就能定位问题:
import requests r = requests.get('https://reqbin.com/echo/get/json') print("状态码:", r.status_code) print("响应内容:", r.text)
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

