Имеется информация в JSON формате получаемая с https://bittrex.com/api/v1.1/public/getmarketsummaries. Необходимо с помощью скрипта загрузить и упорядочить в гугл таблицу.
function processXMRAPI()
{
var ss = SpreadsheetApp.openById('1v2NmYXtURFR3cnrhmuzrcFX48YQTLGRO8Nq4dkL4l1w');
var APIPullSheet = ss.getSheetByName ("APIPull");
APIPullSheet.getRange('A1:M300').clearContent();
var url = "https://bittrex.com/api/v1.1/public/getmarketsummaries";
var responseAPI = UrlFetchApp.fetch(url);
var parcedData = JSON.parse(responseAPI.getContentText());
var results = [[]];
for(var i in parcedData.result)
{
results[0].push(parcedData.result[i]);
}
resultRange = APIPullSheet.getRange(1, 1, results.length, 13);
resultRange.setValues(results);
}
Вот как выглядит при этом массив https://imgur.com/s1mlLHD
Обращаем внимание на то, что в JSON имеется 259 объектов и в каждом из них по 13 данных которые и надо расставить по ячейкам. При выше указанном коде вылазит ошибка Неправильная ширина диапазона: указано 259, должно быть 13 (строка 20, файл Код) 20 это последняя строка кода.
Если не долго думая поменяем в 19 строке 13 на 259 resultRange = APIPullSheet.getRange(1, 1, results.length, 13); то выгрузка происходит, не так как надо. Вид на следующей картинке https://imgur.com/rAPFKOv
Видимо я не правильно разбираю массив, подскажите как это сделать, что бы данные заполнялись в 259 строк и 13 столбцов?
function processXMRAPI()
{
var ss = SpreadsheetApp.openById('1v2NmYXtURFR3cnrhmuzrcFX48YQTLGRO8Nq4dkL4l1w');
var APIPullSheet = ss.getSheetByName ("APIPull");
APIPullSheet.getRange ('A1:M300').clearContent();
var url = "https://bittrex.com/api/v1.1/public/getmarketsummaries";
var responseAPI = UrlFetchApp.fetch(url);
var parcedData = JSON.parse(responseAPI.getContentText());
var results = new Array ();
for(var i in parcedData.result)
{
var temp = [];
for(var j in parcedData.result[i])
{
temp.push(parcedData.result[i][j]);
}
results.push(temp);
}
resultRange = APIPullSheet.getRange(1, 1,results.length,13);
resultRange.setValues(results);
}
Вопрос решен. В коде моего скрипта был применен метод работы с одномерным массивом
var results = [[]];
for(var i in parcedData.result)
{
results[0].push(parcedData.result[i]);
}
, а получаемая информация JSON представлена в виде многомерного массива и работать с ним нужно было, как показано в коде ниже:
var results = new Array ();
for(var i in parcedData.result)
{
var temp = [];
for(var j in parcedData.result[i])
{
temp.push(parcedData.result[i][j]);
}
results.push(temp);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть дата в формате: Tue, 10 Oct 2017 00:00:00 GMTНужно средставми js конвертировать её в формат Tue, 10 Oct 2017, и в формат 2017-10-10(YYYY-MM-DD), как это можно сделать?
Подскажите подробную установку библиотеки polymer для fedora Linux?
Написал простенький роутинг на ангуляре, но путь имеет странный вид, например: http://1270