我有麻煩導入JSON數據谷歌電子表格使用谷歌腳本。如果問題有點愚蠢,我沒有Java知識,所以很抱歉! 我做了一些VBA編碼,所以我並不完全不習慣編碼。導入JSON到谷歌表給出getRrange-錯誤
我試圖從cryptocurrency-exchange的API中提取實時匯率。我設法讓它與不同的交易所的API一起工作,但這裏的json看起來有些不同。
JSON我無法進入谷歌電子表格看起來像這樣; {"success":true,"message":"","result":{"Bid":0.00011437,"Ask":0.00011447,"Last":0.00011447}}
我已經在https://jsonlint.com/上檢查過json,它檢出了。
我使用的代碼是這樣的;
1 function pullJSON_XRP() {
2 var ss = SpreadsheetApp.getActiveSpreadsheet();
3 var sheets = ss.getSheets();
4 var sheet = ss.getActiveSheet();
5 Logger.log(sheets)
6 var url="https://bittrex.com/api/v1.1/public/getticker?market=BTC-XRP"; // JSON call URL
7
8 var response = UrlFetchApp.fetch(url);
9 var dataAll = JSON.parse(response.getContentText());
10 var dataSet = dataAll;
11 Logger.log(dataSet)
12 var rows = [],
13 data;
14 Logger.log(rows)
15
16 for (i = 0; i < dataSet.rows; i++) {
17 data = dataSet[i];
18 rows.push(data.result.Bid, data.result.Ask, data.result.Last); //JSON entities
19 }
20
21 dataRange = sheet.getRange(3, 1, rows.length, 3); // 4th Denotes total number of entites
22 dataRange.setValues(rows);
23 }
我得到21行錯誤消息是在瑞典和留在瑞典,即使我改變了我的語言對谷歌,但它讀取類似的錯誤:「在範圍座標的思想或大小無效在第一。這是因爲dataRange = sheet.getRange(3, 1, rows.length, 3);
不匹配出於某種原因,數組。我花了幾個小時的搜索和測試,但都沒有結果。我現在懷疑我的解析JSON是不正確rows.push(data.result.Bid, data.result.Ask, data.result.Last);
我試圖解決的只是用IDS data.Bid, data.Ask, data.Last
但我仍然得到相同的錯誤。
任何幫助將如此讚賞! =)
謝謝你花時間!
虛心,
布賴恩