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

Google Apps Script解析无统一顶级键JSON,提取球队信息

Google Sheets 提取JSON标识与球队信息脚本实现

核心实现思路

  • 通过UrlFetchApp请求目标URL获取JSON数据
  • 解析JSON后遍历所有顶级唯一标识键
  • 提取每个键对应的team字段,空值统一替换为(N/A)
  • 按指定格式整理数据,批量写入工作表

完整脚本代码

function getTeamData() {
  // 替换为你的目标JSON数据URL
  const targetUrl = "https://example.com/your-team-data.json";
  // 指定要写入的工作表,可替换为getSheetByName("工作表名")
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  try {
    // 请求并解析JSON数据
    const response = UrlFetchApp.fetch(targetUrl);
    const dataObj = JSON.parse(response.getContentText());
    
    // 初始化输出数据数组
    const outputRows = [];
    
    // 遍历所有唯一标识键
    for (const uniqueId in dataObj) {
      if (dataObj.hasOwnProperty(uniqueId)) {
        // 处理team字段,空值显示(N/A)
        const teamInfo = dataObj[uniqueId].team ? dataObj[uniqueId].team : "(N/A)";
        // 按格式拼接标识与球队信息
        outputRows.push([`${uniqueId}    ${teamInfo}`]);
      }
    }
    
    // 清空工作表原有内容(可选)
    sheet.clearContents();
    // 批量写入数据到A列
    if (outputRows.length > 0) {
      sheet.getRange(1, 1, outputRows.length, 1).setValues(outputRows);
    }
    
    SpreadsheetApp.getUi().alert("数据提取完成!");
  } catch (err) {
    SpreadsheetApp.getUi().alert(`执行错误:${err.message}`);
  }
}

关键细节说明

  • URL替换:把targetUrl的值改成你实际的JSON数据地址
  • 工作表指定:如果不想用当前活动表,可将getActiveSheet()替换为getSheetByName("你的工作表名称")
  • 空值处理:通过三元运算符判断team字段是否存在/为空,确保输出格式统一
  • 效率优化:用setValues批量写入数据,比逐个单元格写入更高效,适合大数据量场景

注意事项

  • 确保目标URL允许Google Sheets的服务器访问(部分私有API可能需要额外权限配置)
  • 若JSON数据量极大,注意Google Apps Script的6分钟执行超时限制,可考虑分批次处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 08:37:06