使用Google表和Google脚本 - 如何将一个从单元格插入到变量中



这是我第一次与JSON API一起玩,而我的Java超级生锈。

我正在尝试执行以下操作:

  1. 从Google表格单元格中将字符串从功能getymbol(name(中。在这种情况下,字符串应为"以太坊"
  2. 将名称变量插入URL字符串中,这是我想夺取生命的JSON的地方。在这种情况下,API输出看起来像这样:

    [ { " id":"以太坊", "名称":"以太坊", "符号":" eth", "等级":" 2", " Price_usd":" 95.3675", " price_btc":" 0.0605977", " 24H_VOLUME_USD":" 152223000.0", " market_cap_usd":" 8713986432.0", "可用_supply":" 91372705.0", " total_supply":" 91372705.0", " percen_change_1h":" 0.38", " percen_change_24h":" 1.38", " percon_change_7d":" 37.07", " last_updated":" 1494105266" }]

  3. 接下来,我想从JSON中提取"符号"项目,然后返回电子表格。在这种情况下,该功能将接收"以太坊"并返回" eth"。

以下是我的代码。每当我运行时,我都会出现一个错误,说我的名称变量是不确定的,导致一个看起来像这样的URL(说"未定义"而不是"以太坊"(:

https://api.coinmarketcap.com/v1/ticker/undefined/?convert=usd

我在做什么错?

function getSymbol (name) {
var url = "https://api.coinmarketcap.com/v1/ticker/"+name+"/?convert=USD";
  var response = UrlFetchApp.fetch(url);
  var text = response.getContentText();
  var json = JSON.parse(text);
  var sym = json["symbol"];
  return sym;
  }

返回类型是对象的数组,即 json = [{object1},{object2}]即使只有一个元素,您仍然需要像So

一样访问它
var sym = json[0]["symbol"]
//or
var sym = json[0].symbol

您的最终代码看起来像这样:

function getSymbol (name) {
var url = "https://api.coinmarketcap.com/v1/ticker/"+name+"/?convert=USD";
  var response = UrlFetchApp.fetch(url);
  var text = response.getContentText();
  var json = JSON.parse(text);
  var sym = json[0]["symbol"];
  return sym;
  }

最新更新