我有麻烦导入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
但我仍然得到相同的错误。
任何帮助将如此赞赏! =)
谢谢你花时间!
虚心,
布赖恩