You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Kraken公共API遇动态键 如何获取a数组首个价格数值

问题原因

你的代码使用点语法访问动态属性时出错:lastArray.key会把key作为固定的属性名去读取,而非使用你遍历得到的动态变量key存储的实际键名(比如XXBTZUSD),所以返回null。

解决方法

将属性访问方式改为方括号语法即可读取动态键对应的值,你可以选择以下两种写法的任意一种:

写法1:保留原有for循环逻辑,仅修改属性访问方式

function coin() {
    var url = 'https://api.kraken.com/0/public/Ticker?pair=BTCUSD';
    var apiRequest = UrlFetchApp.fetch(url);
    var jsonResponce = JSON.parse(apiRequest);
    var lastArray = jsonResponce.result;
    Logger.log(lastArray)

    // 获取动态键名
    var dynamicKey
    for (var key in lastArray) {
        dynamicKey = key
    }
    Logger.log(dynamicKey)

    // 方括号语法读取动态键对应的值,再取a数组第一个元素
    var targetPrice = lastArray[dynamicKey].a[0];
    Logger.log(targetPrice)
    // 如需转为数字可以用 Number(targetPrice)
}

写法2:用内置方法简化获取动态键的逻辑,无需写for循环

function coin() {
    var url = 'https://api.kraken.com/0/public/Ticker?pair=BTCUSD';
    var apiRequest = UrlFetchApp.fetch(url);
    var jsonResponce = JSON.parse(apiRequest);
    var result = jsonResponce.result;
    // 直接获取result下第一个动态键名
    var dynamicKey = Object.keys(result)[0];
    // 读取a数组第一个值
    var targetPrice = result[dynamicKey].a[0];
    Logger.log(targetPrice);
}

内容的提问来源于stack exchange,提问作者johnvan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:45:02