代码之家  ›  专栏  ›  技术社区  ›  Bart Silverstrim

Google应用程序脚本JSON转换疑难解答,“char X处的预期流结束”

  •  0
  • Bart Silverstrim  · 技术社区  · 6 年前

    我通过RESTAPI从网站获取数据,RESTAPI以JSON文本格式返回数据。我正在尝试获取应用程序脚本,以获取在Google Data Studio中使用的信息。

    我用来获取文本并尝试在Google脚本编辑器中转换文本的代码片段是:

    function getData(request) {
    
    var optionsPost = {
      "method" : "get",
      "headers":{
        "Authorization": "Basic (base64encodedinfo)",
        "Content-Type": "application/json; charset=utf-8",
        "Cache-Control": "no-cache"
      },
    };
    var response = UrlFetchApp.fetch('https://myapiserver.com/results/recordid?from=2018-09-12T00:00:00Z&to=2018-09-13T23:00:00Z&rs=HOUR&tz=0&format=JSON',optionsPost);
    var responseText = response.getContentText();
    var responseJSON = JSON.parse(responseText);
    Logger.log(responseJSON);
    }
    

    如果我将responseText发送到Logger.log,文本将被切断,但从Google的视图中可以看到->日志截断信息。

    将response.getContentText()长度发送到Logger.log会导致查看“572056.0”->日志

    这是说JSON库无法解析响应文本中的格式问题,还是说它被切断了?Google应用程序脚本中是否有一个函数可以在解析文本之前对其进行清理?

    更新: 为了正确解析JSON记录条目,JSON.parse()是否需要在JSON记录条目之间换行或换行符?

    0 回复  |  直到 6 年前