如何解析simplejson.errors.JSONDecodeError:期望值:第1行第1列(字符0)?

如何解析simplejson.errors.JSONDecodeError:期望值:第1行第1列(字符0)?,json,python-3.x,Json,Python 3.x,我在发出GET请求时随机收到以下错误 simplejson.errors.JSONDecodeError:预期值:第1行第1列 (字符0) 我没有收到来自API的速率限制错误,因此我不确定为什么会发生此错误。我假设是因为JSON对象是空的 import requests try: r = requests.get(url=url) except requests.exceptions.RequestException as e: logging.error(e) else:

我在发出GET请求时随机收到以下错误

simplejson.errors.JSONDecodeError:预期值:第1行第1列 (字符0)

我没有收到来自API的速率限制错误,因此我不确定为什么会发生此错误。我假设是因为JSON对象是空的

import requests


try:
    r = requests.get(url=url)
except requests.exceptions.RequestException as e:
    logging.error(e)
else:
    if r.status_code == 200:
        data = r.json()
反应通常是这样的


[['string',1.2,20.4,8.6,9.3,5.6,6.5,8.6,7.8,8.8,8.3]

您的响应似乎不是JSON响应,而是字符串

如果您确定输出响应应该是JSON(尽管不是结构化的),您可以尝试使用
ast
module来解析它

import requests
import ast


try:
    r = requests.get(url=url)
    if r.ok:
        data = ast.literal_eval(r.content) if r.content else []
except Exception as e:
    logging.error(e)

该响应不是有效的JSON,JSON中没有带单引号(
)的字符串。