将嵌套的JSON导入Google Spreadsheets

时间:2017-12-06 15:33:16

标签: javascript arrays json google-apps-script google-sheets

嗨! 我正在尝试将嵌套JSON中的数据导入Google电子表格。我使用的代码与另一个嵌套的JSON完美配合,但现在我从不同的API获取JSON,它看起来略有不同,它会抛出“范围的坐标或尺寸无效。(第18行,文件”代码“)” - 错误,指的是行;

dataRange = sheet.getRange(2, 1, rows.length, 5);

我使用以下代码;

function getHistoricalRatesETH() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheets = ss.getSheets();
    var sheet = ss.getSheetByName("getData");
    ss.setSpreadsheetLocale('en-us');
    var url="https://min-api.cryptocompare.com/data/histoday?fsym=ETH&tsym=USD&limit=1460"; 
    var response = UrlFetchApp.fetch(url); // get feed
    var dataAll = JSON.parse(response.getContentText()); //
    var dataSet = dataAll;
    var rows = [],data;
    for (i = 0; i < dataSet.length; i++) {
        data = dataSet[i];
        rows.push([data.time,data.close,data.high,data.low,data.open]);
    }
    dataRange = sheet.getRange(2, 1, rows.length, 5); //Last digit denotes columns
    dataRange.setValues(rows);
    ss.setSpreadsheetLocale('en-us');
} 

我试图改变

var rows = [],data; 

var rows = [],Data; 

还尝试使用ids

rows.push([data.Data.time,data.Data.close,data.Data.high,data.Data.low,data.Data.open]);

但结果是一样的。

我已经检查过,因此表格名称不是拼写错误的 像疯了一样搜索如何解决嵌套的json,但无济于事。

1 个答案:

答案 0 :(得分:0)

您需要response.Data的数据。那么对你的脚本进行以下修改怎么样?

来自:

var dataSet = dataAll;

致:

var dataSet = dataAll.Data;