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

如何从该JSON响应中提取指定对象值,解决map操作仅返回首字符的问题

问题根因

你调用Kraken公开接口获取的jsonResponce.result.XXBTZUSD.a本身就是一维字符串数组,数组内的每个元素都是完整的数值字符串(比如卖一价为"63201.2")。你在map回调中使用obj[0]是在取每个字符串的首个字符,自然只会返回数字的第一位。

修正方案

根据你的实际需求选择对应写法:

  1. 仅提取卖一价(数组第一个元素)
    不需要调用map,直接取数组下标即可:
function test() {
  var url = 'https://api.kraken.com/0/public/Ticker?pair=BTCUSD';
  var apiRequest = UrlFetchApp.fetch(url);
  var jsonResponce = JSON.parse(apiRequest);
  var priceArr = jsonResponce.result.XXBTZUSD.a; 
  // 直接取卖一价,需要数字格式的话用Number()包裹即可
  var askPrice = priceArr[0];
  Logger.log(askPrice)
}
  1. 将原数组每个元素单独封装为子数组
    map回调直接返回包裹当前元素的数组即可,不需要加下标:
function test() {
  var url = 'https://api.kraken.com/0/public/Ticker?pair=BTCUSD';
  var apiRequest = UrlFetchApp.fetch(url);
  var jsonResponce = JSON.parse(apiRequest);
  var priceArr = jsonResponce.result.XXBTZUSD.a; 
  var fine = priceArr.map(obj => [obj]);
  Logger.log(fine)
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:57:03