javascript - 使用 Google 表格将变量连接到 JSON 调用中
问题描述
我在加密货币代码的谷歌电子表格中对 coinmarket cap 进行 API 调用并循环遍历一个范围。
代码如下:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test");
var r = sheet.getRange('B2:B17').getValues();
for (var i = 0; i < r.length; i++) {
symbol = r[i][0];
url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=' + symbol + '&convert=USD&CMC_PRO_API_KEY=8192e0b9-fda4-4668-9251-3dfded3bdc2f';
//url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=BTC&convert=USD&CMC_PRO_API_KEY=abcdetc'
var resp = UrlFetchApp.fetch(url);
var result = JSON.parse(resp.getContentText());
var price = result.data.BTC.quote.USD.price;
sheet.getRange(2 + i, 3).setValue(price);
这是可行的,但显然它只提供了比特币的价格,因为 BTC 在 var 价格线上。
而不是 BTC 我想要 + 符号 + 以便代码可以遍历所有不同的符号。我试过这个:
var price = result + "." + data + "." + symbol + "." + quote + "." + USD + "." price
这不起作用。我尝试了“”的其他各种用法,但也没有成功,还尝试单独连接字符串。
如何正确地做到这一点?
先感谢您!
解决方案
var price = result.data.BTC.quote.USD.price;
应替换为涵盖您的变量名称的类似代码:
var price = result.data[symbol].quote.USD.price;
推荐阅读
- php - ' Socket.io 'WebSocket 在连接建立之前关闭。'
- python - 循环Python期间的Iter()
- java - Gradle bintrayUpload 找不到生成的 jar
- c++ - 使用加密密码连接到 MySQL
- java - Dagger2:从单例组件返回不是单例对象
- angular - 错误:无法读取未定义的属性“推送”
- c# - 是否可以将用户过去的对话历史插入/注入聊天窗口对话框?
- python - 如何在 vscode 中调试单个 Django 测试?
- linux - 如何递归地卷曲所有文件
- java - 如何在 Java 中使用多线程实现 2D 方阵乘法?