首页 > 解决方案 > 如何返回:一个嵌套值,在 JSON.parse API 中的多个 indecis 内,返回到我的谷歌工作表单元格中?

问题描述

我正在从此币安 API(https://api1.binance.com/api/v3/klines?symbol=ADAUSDT&interval=1d&limit=14)获取数据。

我已经成功地循环了 'limit=14' 参数,它返回 0-13 indecis(或 14 indeces 一起)。这些索引包含在 'symbol=ADAUSDT' 参数中指定的货币对的各种数据。

现在,有两个我感兴趣的特定值:当天的最高价和最低价,它们分别位于每个索引 0-13 中的位置 2 和 3。

因此,我已经能够使用以下脚本记录 0-13 结果,但是当我尝试将结果返回到我的工作表时,它只在一个索引中填充值,而不是 0-13。

我如何将循环的结果填充到工作表上的单元格中?

function atrCalculation() {
  var dailyHigh = UrlFetchApp.fetch("https://api1.binance.com/api/v3/klines?symbol=ADAUSDT&interval=1d&limit=14");
  var jsonHighPrice = JSON.parse(dailyHigh);
    for (var i = 0; i < jsonHighPrice.length; i++) {
      data = jsonHighPrice[i];
      Logger.log(data[2]);
      Return data[i][2];

细胞功能

只产生一个值

Logger.log 结果

谢谢你的帮助!

标签: google-apps-script

解决方案


您可以通过这种方式简单地检索工作表“klines”中的所有数据

function myKlines(){
  var url='https://api1.binance.com/api/v3/klines?symbol=ADAUSDT&interval=1d&limit=14'
  var source = UrlFetchApp.fetch(url).getContentText()
  var json = JSON.parse(source)
  var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('klines')
  sh.getRange(1, 1, json.length, json[0].length).setValues(json);
}

推荐阅读