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

JavaScript合并API返回JSON对象及汇率转换结果获取问题

解决API返回JSON对象合并与转换结果获取问题

问题根源

你当前代码无法获取result的原因很明确:API返回的result字段是根层级属性,和query同级,并不是query对象的子字段。原代码里objData.result = exchangeData['result'];这一行,试图从query对象里读取不存在的result字段,自然拿不到有效值。

正确实现方案

直接修改第二个then里的逻辑,从jsonResponse根节点取result,同时将query的属性与result合并到目标对象中:

.then((response) => {
  return response.json();
})
.then((jsonResponse) => {
  // 解构query对象的属性,再添加根层级的result字段
  const objData = {
    ...jsonResponse.query,
    result: jsonResponse.result
  };
  
  window.console.log('objData=' + JSON.stringify(objData));
  this.conversionData = objData;
}).catch(error => {
  window.console.log('callout error ' + JSON.stringify(error));
})

处理后objData的结构将完全符合你的需求:

{
  "amount": 5,
  "from": "USD",
  "to": "EUR",
  "result": 4.878125
}

你之前尝试代码的问题

你写的合并代码存在几个关键错误:

  • 错误地将query定义为数组,但API返回的query是单个对象
  • obj2.result是空对象,push(...obj2.result)没有任何实际作用,空对象展开后无任何元素
  • 整体逻辑绕了不必要的弯路,无需先创建空结构再合并,直接基于API返回的数据处理即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 08:05:33