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

Google App Script中ImportJSON函数语法错误求助

解决Google Sheets ImportJSON语法错误问题

作为Google Apps Script新手遇到这种问题很正常,咱们一步步来排查和解决:

1. 先修正URL里的转义字符

你第一个公式里用了&,这是HTML里的转义字符,虽然第二个URL能正常运行,但有些服务器没法正确解析&,建议直接换成普通的&试试:

=ImportJSON("http://cloud.anicuragroup-mail.com/testcon?tskey=13689&metric=all")

这是最容易触发公式语法错误的点,很多时候换完就好了。

2. 检查目标URL返回的是不是有效JSON

很多时候你看到的“语法错误”其实是脚本解析JSON失败导致的运行时错误,不是公式本身的语法问题。你可以这么做:

  • 直接在浏览器里打开第一个URL,看看返回的内容是不是标准的JSON格式。如果返回的是HTML错误页面(比如403禁止访问、500服务器错误),或者乱码文本,那JSON.parse肯定会报错。
  • 给你的ImportJSONAdvanced函数加个错误捕获和日志输出,方便定位具体问题:
function ImportJSONAdvanced(url, query, options, includeFunc, transformFunc) { 
  try {
    var jsondata = UrlFetchApp.fetch(url); 
    // 先看看请求有没有成功
    if (jsondata.getResponseCode() !== 200) {
      throw new Error("请求失败啦,状态码:" + jsondata.getResponseCode());
    }
    var content = jsondata.getContentText();
    // 把返回内容记到日志里,方便查看
    Logger.log("服务器返回的内容:" + content);
    var object = JSON.parse(content); 
    return parseJSONObject_(object, query, options, includeFunc, transformFunc); 
  } catch (e) {
    Logger.log("具体错误:" + e.toString());
    // 把错误信息返回给单元格,你直接就能看到
    return [[e.toString()]];
  }
}

改完之后重新运行公式,然后打开Google Apps Script编辑器的「查看」->「日志」,就能清楚看到是哪里出问题了——比如JSON格式不对,还是请求被服务器拒绝了。

3. 排查访问权限问题

如果手动在浏览器里能打开URL,但脚本请求失败,可能是目标服务器限制了Google Apps Script的访问(比如IP白名单、需要登录验证)。你可以试试模拟浏览器的请求头:

// 替换原来的UrlFetchApp.fetch(url)这一行
var jsondata = UrlFetchApp.fetch(url, {
  headers: {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
  }
});

加完这个再测试,说不定就能正常请求了。

4. 确认响应编码是否正确

如果目标URL返回的内容编码不是UTF-8,也可能导致解析错误,你可以指定编码来获取内容:

var content = jsondata.getContentText("UTF-8");

按照上面的步骤逐一排查,应该就能解决问题啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:11:52