【问题标题】:JSON file data encoding issue for Google Script parsing用于 Google Script 解析的 JSON 文件数据编码问题
【发布时间】: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) 怎么样?

标签: json google-apps-script


【解决方案1】:

如果您接受@TheMaster 的建议,使用JSON.parse(file) 而不是JSON.parse(file1),代码应该会给您这个:

t v
2021-10-04T19:46:28.6737824Z -0.0662994
2021-10-04T19:46:28.7899119Z -0.0662994
2021-10-04T19:46:28.8964373Z -0.0950012
2021-10-04T19:46:29.0035742Z -0.0950012
2021-10-04T19:46:29.1184731Z -0.0806427
2021-10-04T19:46:29.225578Z -0.0806427
2021-10-04T19:46:29.3333506Z -0.0950012
2021-10-04T19:46:29.4412116Z -0.0950012
2021-10-04T19:46:29.5544312Z -0.0950012
2021-10-04T19:46:29.6617705Z -0.0950012
2021-10-04T19:46:29.7683411Z -0.0950012
2021-10-04T19:46:29.8819891Z -0.0806427
2021-10-04T19:46:29.9894917Z -0.0806427
2021-10-04T19:46:30.0958958Z -0.0662994
2021-10-04T19:46:30.2092453Z -0.0662994
2021-10-04T19:46:30.3162308Z -0.0806427
2021-10-04T19:46:30.4294831Z -0.0806427
2021-10-04T19:46:30.5368671Z -0.0806427
2021-10-04T19:46:30.64393Z -0.0806427
2021-10-04T19:46:30.7566749Z -0.0662994
2021-10-04T19:46:30.8645995Z -0.0662994
2021-10-04T19:46:30.972218Z -0.0662994
2021-10-04T19:46:31.0863973Z -0.0662994
2021-10-04T19:46:31.1936985Z -0.0662994
2021-10-04T19:46:31.3010083Z -0.0662994
2021-10-04T19:46:31.40885Z -0.0662994
2021-10-04T19:46:31.5231228Z -0.0662994
2021-10-04T19:46:31.6302419Z -0.0662994
2021-10-04T19:46:31.7379175Z -0.0662994
2021-10-04T19:46:31.8515735Z -0.0662994
2021-10-04T19:46:31.9583902Z -0.0662994
2021-10-04T19:46:32.0649162Z -0.0662994

看起来效果不错。

【讨论】:

猜你喜欢
  • 2015-04-06
  • 2023-04-09
  • 2019-06-17
  • 2018-11-20
  • 1970-01-01
  • 2018-04-15
  • 1970-01-01
  • 2018-07-31
相关资源
最近更新 更多