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

调用fetch API出现SyntaxError: Unexpected end of JSON input错误原因咨询

fetch调用中.json()抛出SyntaxError的原因分析

当执行这段fetch代码时:

fetch(
      //something,
      options
    )
      .then((response) => response.json() )  

会抛出错误 SyntaxError: Unexpected end of JSON input in fetch api,但把代码改成下面这样,去掉.json()后,错误就消失了:

fetch(
      //something,
      options
    )
      .then((response) => response )

问题核心原因

  • 服务器返回的响应体不是有效的JSON格式,甚至可能是空内容。
  • .json()方法的作用是把响应体的原始数据解析成JSON对象,一旦内容不符合JSON语法规范(比如空字符串、HTML页面代码、普通文本等),就会触发这个语法错误。
  • 而直接返回response对象时,只是拿到了请求的响应元数据(比如状态码、响应头),并没有去读取和解析响应体的内容,自然不会触发JSON解析的报错。

排查建议

  • 可以先用response.text()替换.json(),获取响应体的原始内容,看看服务器实际返回的是什么——大概率是空内容、错误提示的HTML,或者非JSON格式的文本。
  • 检查响应的状态码,比如是不是404、500这类错误状态,服务器在返回错误时通常不会返回标准JSON。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:31:35