我正在使用Google Apps脚本,尝试将比特币汇率信息导入Google电子表格。我使用这段代码:
var url = "https://btc-e.com/api/2/btc_usd/ticker";
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
var lcharts_data = JSON.parse(json)
function bitcoin(){
var b = lcharts_data["ticker"]["avg"];
return b;
}
JSON文件如下所示:
{"ticker":
{"high":947.99902,
"low":817.64001,
"avg":882.819515,
"vol":24625847.06001,
"vol_cur":28189.09956,
"last":930,
"buy":930,
"sell":929.998,
"updated":1385575341,
"server_time":1385575342}
}
}
然而b回复为22.49。我做错了什么?
答案 0 :(得分:0)
我使用类似的方法接收数据,但我解析它略有不同。例如:
var url = "https://btc-e.com/api/2/btc_usd/ticker";
var response = UrlFetchApp.fetch(url);
var json = response.toString();
var lcharts_data = JSON.parse(json);
请注意toString()
方法和原生Utilities.jsonParse()
方法。我试过了JSON.parse()
,但那对我没用。
还使用API密钥来访问数据?已经尝试过,但它已超时。
答案 1 :(得分:0)
当我测试你的网址时,返回的JSON响应是:
{
"ticker":{
"high":421.70001,
"low":418,
"avg":419.850005,
"vol":2361935.91952,
"vol_cur":5620.41595,
"last":420.168,
"buy":420.168,
"sell":419.853,
"updated":1460626271,
"server_time":1460626273
}
}
以下是返回' avg'的值的代码:
var url = "https://btc-e.com/api/2/btc_usd/ticker";
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
var lcharts_data = JSON.parse(json);
function bitcoin(){
var b = lcharts_data.ticker.avg;
return b;
}