如何在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
相关产品推荐
相关产品推荐

