You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复JSONDecodeError: Expecting value?Colab运行卫星图像ML代码报错

JSONDecodeError错误原因通俗解释

我无编程基础,正在Google Colab中运行Google开发的卫星图像机器学习模型训练交互式笔记本,执行以下代码时反复遇到JSONDecodeError: Expecting value: line 2 column 1 (char 1)错误:

import requests

requests.post(
    url=f'{service_url}/ping',
    headers={'Authorization': f'Bearer {identity_token}'},
    json={'x': 42, 'message': 'Hello world!'},
).json()

错误输出:

---------------------------------------------------------------------------
JSONDecodeError                           Traceback (most recent call last)
<ipython-input-43-3a865e581f23> in <module>()
      4     url=f'{service_url}/ping',
      5     headers={'Authorization': f'Bearer {identity_token}'},
----> 6     json={'x': 42, 'message': 'Hello world!'},
      7 ).json()

3 frames
/usr/local/lib/python3.7/dist-packages/requests/models.py in json(self, **kwargs)
    896                     # used.
    897                     pass
--> 898         return complexjson.loads(self.text, **kwargs)
    899 
    900     @property

/usr/lib/python3.7/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    346             parse_int is None and parse_float is None and
    347             parse_constant is None and object_pairs_hook is None and not kw):
--> 348         return _default_decoder.decode(s)
    349     if cls is None:
    350         cls = JSONDecoder

/usr/lib/python3.7/json/decoder.py in decode(self, s, _w)
    335 
    336         """
--> 337         obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    338         end = _w(s, end).end()
    339         if end != len(s):

/usr/lib/python3.7/json/decoder.py in raw_decode(self, s, idx)
    353             obj, end = self.scan_once(s, idx)
    354         except StopIteration as err:
--> 355             raise JSONDecodeError("Expecting value", s, err.value) from None
    356         return obj, end

JSONDecodeError: Expecting value: line 2 column 1 (char 1)

错误原因通俗解释

这个错误本质是:你让Python把服务器返回的内容转换成JSON格式,但服务器返回的根本不是合法的JSON内容,甚至可能是空内容、错误页面。

拆解开说:

  • 你的代码是向{service_url}/ping这个网络地址发送了请求,还带了身份令牌和参数
  • 服务器收到请求后,没有返回你预期的JSON格式内容——可能是地址不对、令牌无效,或者服务器本身出问题,返回了空白、错误提示文字,甚至是404/500报错的网页
  • 当你调用.json()方法时,Python尝试把这段不符合规则的内容按JSON解析,自然会报错“期待值”——因为JSON必须是{}、[]这种特定格式的,返回的内容完全不达标

针对这个Colab笔记本场景,大概率是这几个具体问题:

  • service_url变量没设置正确,指向的地址不存在或者无法访问
  • identity_token无效,服务器拒绝了你的请求,返回了错误页面而非正常JSON响应
  • 对应的服务没启动或者运行异常,没法返回正常的JSON结果

内容的提问来源于stack exchange,提问作者rouneezie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 15:54:42