【发布时间】:2021-10-07 19:39:24
【问题描述】:
我有一个问题,我将 JSON 文件中的数据解析到 Google 电子表格中。
我的谷歌脚本:
function JSON_from_DRIVE() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Data");
var file = DriveApp.getFileById("1qwM5W6717FI28fkvBo9FcuJnqaaYo24H").getBlob().getDataAsString();
var file1 = Utilities.newBlob(file, Utilities.Charset.UTF_8);
var dataAll = JSON.parse(file1);
var dataRows = dataAll['Body'];
var rowHeaders = Object.keys(dataRows[0]);
var rows = [rowHeaders];
for (var i = 0; i < dataRows.length; i++) {
var rowData = [];
for (var j = 0; j < rowHeaders.length; j++) {
rowData.push(dataRows[i][rowHeaders[j]]);
}
rows.push(rowData);
}
sheet.getRange(1,1,rows.length,rows[0].length).setValues(rows);
}
脚本运行后出现以下错误:
SyntaxError:JSON 中位置 0 的意外标记 B
在代码的调试模式下,我在控制台中看到脚本是如何看到JSON文件中的数据的。
存在一些编码冲突:
可以在脚本中编写哪些附加函数,以便正确感知和解析 JSON 文件?
【问题讨论】:
-
JSON.parse(file)怎么样?