You need to enable JavaScript to run this app. Google Sheets中Apps Script调用API时如何提取JSON的unpaid字段值
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets中Apps Script调用API时如何提取JSON的unpaid字段值

直接提取目标字段的实现方案

当前全量转存响应再通过MID函数截取的方案稳定性不足:只要API调整字段顺序、新增字段、修改返回内容转义规则,截取结果就会错位。由于接口返回的是标准JSON结构,完全可以在脚本层直接解析提取目标字段,不需要全量转存。

具体调整逻辑

  • 移除全量响应转存逻辑,将接口返回文本解析为JavaScript对象
  • 按照JSON嵌套路径定位unpaid字段,直接提取数值写入目标单元格

调整后的可运行脚本

function callNumbers() {
  // 替换为你的实际API请求地址
  const targetApi = "";
  const response = UrlFetchApp.fetch(targetApi, {muteHttpExceptions: true});
  const responseContent = response.getContentText();

  // 解析JSON响应
  const responseData = JSON.parse(responseContent);

  // 按照嵌套层级提取unpaid字段值:该字段位于顶层data对象下
  const unpaidNumber = responseData.data.unpaid;

  // 直接将提取的数值写入对应单元格(第49行、第7列)
  const activeSheet = SpreadsheetApp.getActiveSheet();
  activeSheet.getRange(49, 7).setValue(unpaidNumber);
}

关键说明

  • 字段路径需匹配嵌套层级:从示例响应看,unpaid位于顶层data对象内部,取值路径为responseData.data.unpaid,若错写为顶层取值会返回空值
  • 可补充基础异常判断,避免接口临时故障导致脚本中断:

    可选异常拦截片段,可嵌入脚本对应位置

    if (response.getResponseCode() !== 200) {
      activeSheet.getRange(49,7).setValue("接口请求异常");
      return;
    }
    if (!responseData?.data) {
      activeSheet.getRange(49,7).setValue("返回数据结构异常");
      return;
    }
    
  • 该方案完全替代原有MID函数截取逻辑,提取结果不受字段位置、返回内容格式调整的影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 00:24:00