8

我有一个简单的脚本,可以提取大约 30,000 个 JSON 字符。

SyntaxError: Unexpected token: F (line 12)当我尝试用JSON.parse()or解析它时,我得到了Utilities.jsonParse();

function refresh() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  sheet.clear();


  var text = UrlFetchApp.fetch("http://blablah/json");

  Logger.log(text.getContentText());

  //error SyntaxError: Unexpected token: F (line 12)
  json = JSON.parse(text);
)

记录器只显示大约 59 行 JSON,但有人告诉我记录器有空间限制 - 但我不太确定就是这样。

在我自己的服务器上运行,JSON.parse 可以很好地解析数据,jQuery get() 也是如此。

所以我在想 UrlFetchApp.fetch() 就是无法获取长文件?

很难接受,我没有找到关于它的文档:(

4

1 回答 1

5

您可以在新的 Apps 脚本仪表板上查看 UrlFetch 和其他服务限制。根据我的经验,Logger.log 对单个日志的限制比 UrlFetch 更严格,可能 UrlFetch 做得很好,Logger.log 没有显示它,你遇到了其他问题。

尝试将getContentText结果放在其他地方,例如电子表格单元格。或者拆分它并在 for 循环中调用 logger log。

您可能面临的一个可能错误(除了配额限制)是字符编码,getContentText有一个可选参数,您可以在其中通知页面的编码,您检查了吗?

于 2012-05-18T03:32:09.377 回答