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

如何在Console中打印JSON特定字段值?技术求助

如何提取并打印Promise.all结果中的特定JSON字段值

你可以修改Promise.all的回调函数,解构返回的结果数组,精准提取需要的字段:

Promise.all([
  fetch('https://blockchain.info/balance?active=3C6WPNa5zNQjYi2RfRmt9WUVux7V4xbDmo').then(resp => resp.json()),
  fetch('https://api.binance.com/api/v3/avgPrice?symbol=BTCEUR').then(resp => resp.json()),
]).then(([balanceData, priceData]) => {
  // 提取final_balance:通过Object.values拿到余额对象
  const finalBalance = Object.values(balanceData)[0].final_balance;
  // 提取price字段
  const btcEurPrice = priceData.price;

  console.log(`最终余额: ${finalBalance}`);
  console.log(`BTC/EUR均价: ${btcEurPrice}`);
})
.catch(error => console.error('请求失败:', error)); // 添加错误处理增强健壮性

关键步骤说明:

  • 解构数组:([balanceData, priceData]) 直接将Promise.all返回的两个请求结果分别赋值给变量,比用results[0]、results[1]的写法更清晰易读。
  • 处理动态键名的对象:区块链余额数据的键是钱包地址字符串,无法直接用点语法访问,所以用Object.values(balanceData)[0]获取对应的余额对象,再访问final_balance字段。
  • 直接访问已知字段:币安返回的结构中price是明确的键名,直接用priceData.price即可提取目标值。

如果需要适配钱包地址变化的场景,也可以通过Object.keys(balanceData)[0]拿到地址键名,再用balanceData[addressKey].final_balance提取值,效果和Object.values一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:45:24