嗨! 我正在尝试将嵌套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,但无济于事。
答案 0 :(得分:0)
您需要response.Data
的数据。那么对你的脚本进行以下修改怎么样?
var dataSet = dataAll;
var dataSet = dataAll.Data;