Google Apps Script - convert UrlFetch response to array

一世执手 提交于 2021-02-05 08:38:05

问题


I'm using UrlFetch to get data from a Googe script:

var response = UrlFetchApp.fetch(url); 
Logger.log(response.getContentText());
Logger.log(typeof(response))

This is logging:

[["Name","email","2016-12-31T00:00:00.000Z","Sim",548]]
object

The response looks like an array but it is an object. I need to be able to loop through an array, so how do I convert this data to an array instead?


回答1:


It depends on what type of content returned by the query. Suppose, for example, it JSON:

    function myFunction() {

        var url = "http://headers.jsontest.com/";
        var response = UrlFetchApp.fetch(url); 

        Logger.log(response.getContentText());

        try {
            // Regular expression for JSON content-type
            var jsr = new RegExp(/application\/json/);
            var cnt = response.getAllHeaders()["Content-Type"];

            // Check if response is JSON
            if (jsr.exec(cnt)) {
                // Parse response content
                var js =  JSON.parse( response.getContentText() );
                Logger.log(js);
                for (var i in js) {
                  var t = {}; t[i] = js[i];
                  Logger.log( t );
                }
            }
        } catch(e) {
           Logger.log(e)
        }

   }


来源:https://stackoverflow.com/questions/31316685/google-apps-script-convert-urlfetch-response-to-array

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!