如何通过Google Apps Script获取JSON键值对而非数组
解决Google Apps Script doGet返回键值对JSON的问题
你只需要修改代码,将获取到的二维数组转换为键值对对象即可,以下是修改后的完整代码:
function doGet(e) { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var data = sheet.getRange('A1:B2').getValues(); // 提取第一行的键名和第二行的对应值 var keys = data[0]; var values = data[1]; // 构建目标键值对对象 var result = {}; for (var i = 0; i < keys.length; i++) { result[keys[i]] = values[i]; } // 返回标准JSON格式响应 return ContentService.createTextOutput(JSON.stringify(result)) .setMimeType(ContentService.MimeType.JSON); }
代码说明:
- 提取数据行:从获取到的二维数组中,把第一行作为键名数组
keys,第二行作为对应的值数组values。 - 构建对象:通过循环将每个键名与对应位置的值绑定,存入空对象
result中。 - 优化响应格式:调用
setMimeType设置响应的MIME类型为JSON,让请求方可以直接识别返回的是JSON数据。
如果你的表格列数不固定(后续可能新增更多键值对),可以把固定范围A1:B2替换为自动获取数据范围,适配任意列数:
var data = sheet.getDataRange().getValues();
内容的提问来源于stack exchange,提问作者Apóstoles EquiposInn
相关产品推荐
相关产品推荐

