首页 > 解决方案 > 将变量名放入 JSON 数组(由 api 获取)

问题描述

我对 Javascript 很陌生,但我会尝试以方便的方式进行说明。我有这个 api,我在其中获取加密的排名(Ripple;目前排名第 7,可能会随着时间的推移而变化),代码如下:

function myFunction() {
var url = "https://api.coinpaprika.com/v1/coins/xrp-xrp";
var XRPresponse = UrlFetchApp.fetch(url);
var XRPjson = XRPresponse.getContentText();
var XRPdata = JSON.parse(XRPjson);
var XRPrank = XRPdata.rank;

}

现在这是我提取其他信息的 api 的另一个功能(列出了 5000 多个密码,包括波纹)

function myXRP() {
var url = "https://api.coinpaprika.com/v1/tickers";
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
var data = JSON.parse(json);
var XRP = data[7].symbol;

// Here instead of [7], I need to put the value extracted from XRPrank above so that whenever the rank is changed I get the latest value on data.[].

如果有人可以请建议。

标签: javascriptjsongoogle-apps-script

解决方案


在 JavaScript 中,有几种方法可以实现您正在寻找的东西。以下是对您当前代码的改编,我认为您必须做的最小更改是,1. 使用 return 后跟XRPrank2. 调用 myFunctionmyXRP并将数据索引替换为XRPrank.

function myFunction() {
var url = "https://api.coinpaprika.com/v1/coins/xrp-xrp";
var XRPresponse = UrlFetchApp.fetch(url);
var XRPjson = XRPresponse.getContentText();
var XRPdata = JSON.parse(XRPjson);
var XRPrank = XRPdata.rank;

return XRPrank; // add this
 
}

function myXRP() {
var url = "https://api.coinpaprika.com/v1/tickers";
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
var data = JSON.parse(json);

var XRPrank = myFunction(); // add this

// var XRP = data[7].symbol; instead of this
var XRP = data[XRPrank].symbol; // use this

}

资源


推荐阅读