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

GAS中UrlFetchApp返回嵌套JSON的访问方法及相关概念咨询

解决Google Apps Script中UrlFetchApp获取JSON数据的解析与访问问题

一、修复JSON解析并访问数据元素

你当前的代码仅获取了响应文本,缺少JSON解析步骤。解析失败大概率是返回文本存在格式异常(比如多余空格、特殊字符),可以通过try-catch捕获错误并排查。以下是完整的解析和数据访问逻辑:

核心代码片段

// 解析JSON响应文本
try {
  var data = JSON.parse(text);
} catch(e) {
  Logger.log('JSON解析失败: ' + e.toString());
  Logger.log('返回的原始文本: ' + text);
  throw e; // 根据需求选择是否抛出错误终止执行
}

// 访问嵌套结构中的数据
var contentArray = data.content; // 拿到顶层对象中的content数组
// 遍历数组处理每个元素(支持多条数据)
for (var i = 0; i < contentArray.length; i++) {
  var item = contentArray[i];
  var id = item.id;
  var name = item.name;
  var amount = item.amount;
  
  // 打印验证数据
  Logger.log(`ID: ${id}, 名称: ${name}, 金额: ${amount}`);
}

访问逻辑说明

  • 解析后的data是顶层JSON对象,通过data.content可获取数组类型的属性值;
  • contentArray是包含多个对象的数组,每个对象对应一条业务数据;
  • 通过数组下标(如contentArray[0])或循环遍历,就能拿到每个对象中的id、name、amount属性。

二、嵌套结构的技术概念

这种「对象嵌套数组、数组再嵌套对象」的结构属于JSON层级嵌套结构,是JSON数据的常见组织形式。JSON本身支持两种核心结构:

  • 对象:键值对的集合(用{}包裹);
  • 数组:有序值的列表(用[]包裹);
    两者可以互相嵌套,用来表达复杂的关联数据,没有专门的特殊术语,本质就是JSON的嵌套层级设计。

三、完整代码(含写入Google表格)

整合你的请求代码、解析逻辑和表格写入操作:

var url = "Https://content/units";
var token = customToken();

var params = {
    "method": "GET",
    "muteHttpExceptions": true,
    "headers": {
        "Authorization": token,
        "Content-Type": "application/json"
    }
};

var query = UrlFetchApp.fetch(url, params);
var text = query.getContentText();

try {
  var data = JSON.parse(text);
  var contentArray = data.content;
  
  // 替换为你的目标工作表名称
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  
  // 可选:写入表头(首次执行时使用)
  // sheet.appendRow(['ID', '名称', '金额']);
  
  // 遍历数据写入表格
  contentArray.forEach(function(item) {
    sheet.appendRow([item.id, item.name, item.amount]);
  });
  
  Logger.log('数据成功写入表格');
} catch(e) {
  Logger.log('处理出错: ' + e.toString());
  Logger.log('原始响应文本: ' + text);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:50:10