为什么这个 UrlFetch 函数不能正常工作? 2.0
Why is this UrlFetch function not working properly? 2.0
这是我试图通过我的 Google 电子表格图表上的 JavaScript 工具 运行 的功能,我在另一个网站上有一个非常相似的功能,我之前已经解决了这个主题的问题:
但是尽管这看起来很相似,但我无法让它工作...
$id 是从我的电子表格单元格 (BTC_BELA) 导入的值
function NovaexchangePrice($id) {
var response = UrlFetchApp.fetch("https://novaexchange.com/remote/v2/markets/");
var html = JSON.parse(response.getContentText());
try
{
return parseFloat(html['markets']["last_price"]);
}
catch(err)
{
return null;
}
}
我目前尝试了以下方法:
return parseFloat(html['markets'].last_price);
return parseFloat(html[2].last_price);
return parseFloat(html.markets[1]);
这就是那个UrlFetch(https://novaexchange.com/remote/v2/markets/)returns:
{"status": "success", "message": "Markets listed at Novaexchange", "markets":
[{"bid": "0.00000602", "last_price": "0.00000600", "volume24h": "0.333", "marketid": 7539, "disabled": 1, "currency": "4CHN", "marketname": "BTC_4CHN", "ask": "0.00001000", "low24h": "0.00000600", "change24h": "-64.7", "high24h": "0.00001700", "basecurrency": "BTC"},
{"bid": "0.00000000", "last_price": "0.00000001", "volume24h": "0.000", "marketid": 7347, "disabled": 1, "currency": "SPRT", "marketname": "BTC_SPRT", "ask": "0.00000001", "low24h": "0.00000001", "change24h": "0.0", "high24h": "0.00000001", "basecurrency": "BTC"},
{"bid": "0.00000000", "last_price": "0.00000001", "volume24h": "0.000", "marketid": 7359, "disabled": 1, "currency": "XPZ", "marketname": "BTC_XPZ", "ask": "0.00000004", "low24h": "0.00000001", "change24h": "0.0", "high24h": "0.00000001", "basecurrency": "BTC"},
... and so on.
你试试html.markets[0].last_price
?
编辑:
如果您只是专门寻找一个市场,您可以像这样在一系列市场中执行 forEach 循环:
html.markets.forEach(function(entry) {
if (entry.marketname == "BTC_BELA") {
console.log(entry.last_price);
}
});
尽管将每个条目重新分配给一个键控对象以便于访问可能会更好:
var obj = {};
html.markets.forEach(function(entry) {
var marketname = entry.marketname;
obj[marketname] = entry;
});
console.log(obj["BTC_BELA"].last_price);
这是我试图通过我的 Google 电子表格图表上的 JavaScript 工具 运行 的功能,我在另一个网站上有一个非常相似的功能,我之前已经解决了这个主题的问题:
但是尽管这看起来很相似,但我无法让它工作...
$id 是从我的电子表格单元格 (BTC_BELA) 导入的值
function NovaexchangePrice($id) {
var response = UrlFetchApp.fetch("https://novaexchange.com/remote/v2/markets/");
var html = JSON.parse(response.getContentText());
try
{
return parseFloat(html['markets']["last_price"]);
}
catch(err)
{
return null;
}
}
我目前尝试了以下方法:
return parseFloat(html['markets'].last_price);
return parseFloat(html[2].last_price);
return parseFloat(html.markets[1]);
这就是那个UrlFetch(https://novaexchange.com/remote/v2/markets/)returns:
{"status": "success", "message": "Markets listed at Novaexchange", "markets":
[{"bid": "0.00000602", "last_price": "0.00000600", "volume24h": "0.333", "marketid": 7539, "disabled": 1, "currency": "4CHN", "marketname": "BTC_4CHN", "ask": "0.00001000", "low24h": "0.00000600", "change24h": "-64.7", "high24h": "0.00001700", "basecurrency": "BTC"},
{"bid": "0.00000000", "last_price": "0.00000001", "volume24h": "0.000", "marketid": 7347, "disabled": 1, "currency": "SPRT", "marketname": "BTC_SPRT", "ask": "0.00000001", "low24h": "0.00000001", "change24h": "0.0", "high24h": "0.00000001", "basecurrency": "BTC"},
{"bid": "0.00000000", "last_price": "0.00000001", "volume24h": "0.000", "marketid": 7359, "disabled": 1, "currency": "XPZ", "marketname": "BTC_XPZ", "ask": "0.00000004", "low24h": "0.00000001", "change24h": "0.0", "high24h": "0.00000001", "basecurrency": "BTC"},
... and so on.
你试试html.markets[0].last_price
?
编辑:
如果您只是专门寻找一个市场,您可以像这样在一系列市场中执行 forEach 循环:
html.markets.forEach(function(entry) {
if (entry.marketname == "BTC_BELA") {
console.log(entry.last_price);
}
});
尽管将每个条目重新分配给一个键控对象以便于访问可能会更好:
var obj = {};
html.markets.forEach(function(entry) {
var marketname = entry.marketname;
obj[marketname] = entry;
});
console.log(obj["BTC_BELA"].last_price);