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

如何将两个Google Sheets关联数据合并为指定JSON并通过API传输?

从Google Sheets生成指定JSON并通过Curl发送到API的新手指南

步骤1:用Google Apps Script生成目标JSON

直接在Google Sheets里用内置脚本工具处理数据,无需额外软件:

  1. 打开你的Google Sheets文件,点击顶部菜单的扩展 > Apps Script,打开脚本编辑器。
  2. 清空默认代码,粘贴以下脚本:
function generateOrderJSON() {
  // 获取表格数据
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const ordersSheet = ss.getSheetByName("Orders"); // 确保表名与你的一致
  const detailsSheet = ss.getSheetByName("Details"); // 确保表名与你的一致

  const ordersData = ordersSheet.getDataRange().getValues();
  const detailsData = detailsSheet.getDataRange().getValues();

  // 跳过表头,将Details数据按OrderNum分组
  const detailsMap = new Map();
  for (let i = 1; i < detailsData.length; i++) {
    const [orderNum, itemNum, serNum] = detailsData[i];
    if (!detailsMap.has(orderNum)) {
      detailsMap.set(orderNum, []);
    }
    // 处理ItemNum空格并添加自增task_id
    detailsMap.get(orderNum).push({
      ItemNum: itemNum.replace(" ", ""),
      SerNum: serNum.toString(),
      task_id: detailsMap.get(orderNum).length - 1
    });
  }

  // 构建最终JSON结构
  const result = {
    Orders: []
  };

  for (let i = 1; i < ordersData.length; i++) {
    const [orderNum, custName] = ordersData[i];
    result.Orders.push({
      CustName: custName,
      OrderNum: orderNum.toString(),
      Items: detailsMap.get(orderNum) || []
    });
  }

  // 格式化输出JSON到日志
  const jsonString = JSON.stringify(result, null, 2);
  console.log(jsonString);
  
  // 可选:将JSON保存到Google Drive
  DriveApp.createFile("orders.json", jsonString, MimeType.JSON);
}
  1. 确认脚本中的表名(Orders/Details)与你的表格名称匹配。
  2. 点击运行按钮,首次运行需完成权限授权,按提示操作即可。
  3. 运行后点击左侧日志图标,复制生成的JSON内容,保存为orders.json文件(或直接使用脚本自动保存到Drive的文件)。

步骤2:用Curl发送JSON到API

  1. 打开终端(Windows用命令提示符/PowerShell,Mac/Linux用终端)。
  2. 将orders.json放在当前终端工作目录,或准备好文件的完整路径。
  3. 运行以下Curl命令(替换为你的API实际地址):
curl -X POST \
  -H "Content-Type: application/json" \
  -d @orders.json \
  https://your-api-endpoint-url.com/target-path
  • 参数说明:
    • -X POST:指定请求方法为POST
    • -H "Content-Type: application/json":声明请求体为JSON格式
    • -d @orders.json:读取本地JSON文件作为请求内容

注意事项

  • 你提供的示例JSON存在语法错误(多余大括号、未闭合数组),上述脚本会生成语法完全正确的JSON结构。
  • 若API需要身份验证,需在Curl命令中添加对应请求头,例如-H "Authorization: Bearer YOUR_API_KEY"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:51:10