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

Google Apps Script解析动态键JSON并将source值复制到target的问题

实现方案

完整可运行代码

function myFunction() {
  // 读取存储在Google Drive中的JSON文件
  var file = DriveApp.getFileById("1xqnMYtkZ2iST3xqzs_zKqHwzC017VHqd");
  var text = file.getBlob().getDataAsString();
  var json = JSON.parse(text);

  // 遍历所有动态会话ID键
  Object.keys(json).forEach(sessionId => {
    // 获取当前会话对应的对话记录数组
    const conversationRecords = json[sessionId];
    // 遍历单条对话记录,将source值同步到target
    conversationRecords.forEach(record => {
      record.target = record.source;
    });
  });

  // 生成格式化的更新后JSON字符串,缩进为2
  const updatedJson = JSON.stringify(json, null, 2);
  Logger.log(updatedJson);

  // 如果需要将修改后的内容写回原Drive文件,取消注释下方代码即可
  // file.setContent(updatedJson);

  // 返回更新后的完整JSON对象
  return json;
}

核心逻辑说明

  • 动态键遍历:使用Object.keys()方法可以直接获取根对象下所有动态生成的会话ID,不需要提前知晓具体键名就能完成全量遍历
  • 字段同步:两层循环分别处理「单个会话」和「会话内的单条对话」,直接赋值即可完成source到target的内容同步
  • 结果处理:JSON.stringify()的后两个参数用于生成带缩进的格式化JSON,方便查看或回写存储

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:09:03