json.decoder.JSONDecodeError:期望值:第 1 行第 1 列(字符 0)python

Zac*_*ch 5 python python-requests

我收到以下错误消息:

...文件“c:\users\dockerhost\appdata\local\programs\python\python37\Lib\json\decoder.py”,第 355 行,raw_decode 引发 JSONDecodeError("Expecting value", s, err.value)从无 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

我正在尝试使用请求来获取响应标头。我在尝试解决 jsondecodeerror 方面做了很多研究。但是,我没有找到解决方案。

import requests
request.get('https://www.google.com/').json()

Error message.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Host\.virtualenvs\projects08-8iyGSYl4\lib\site-packages\requests\models.py", line 897, in json
    return complexjson.loads(self.text, **kwargs)
  File "c:\users\host\appdata\local\programs\python\python37\Lib\json\__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "c:\users\host\appdata\local\programs\python\python37\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "c:\users\host\appdata\local\programs\python\python37\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Run Code Online (Sandbox Code Playgroud)

blh*_*ing 5

JSON 解码器在第一行的第一个字符处期望一个值,这意味着它没有找到要解析的内容。也就是说,您的响应对象的内容是空的。

您应该检查服务器响应的内容:

print(request.get(your_url).content)
Run Code Online (Sandbox Code Playgroud)

以确保它不为空并且实际上是有效的 JSON。

如果它确实为空,则通常意味着您没有向服务器发送它期望的内容,并且您应该修复随请求发送的标头/cookies/身份验证/API 密钥/参数。