You need to enable JavaScript to run this app. 如何遍历API响应的嵌套复杂对象提取所有appId与userInfo
优惠活动
大模型
产品
解决方案
定价
更多

如何遍历API响应的嵌套复杂对象提取所有appId与userInfo

目标字段遍历提取方案

先梳理当前API响应的嵌套关系,明确目标字段的位置:

  • 响应根对象的data字段是业务数据数组,是所有待遍历内容的入口
  • data数组的每个元素下,存在platforms字段,为平台配置数组
  • 我们要找的appId字段,就位于platforms数组的每个元素内部

注意:当前给出的示例响应中,没有直接命名为userInfo的字段,同层级下的userId为对应用户标识,可根据实际业务规则调整userInfo的取值来源。

具体处理流程

  • 第一层校验:读取根响应的data字段,若非数组类型则直接返回空结果,避免遍历报错
  • 第一层遍历:循环data数组的每一条业务条目,读取条目下的platforms字段,若非数组类型则跳过该条
  • 第二层遍历:循环platforms数组的每一条平台配置,提取节点内的appId、对应用户标识值
  • 结果组装:按照要求的对象结构,把提取到的字段值推入最终结果数组

参考实现代码

// 传入完整API响应对象
function extractTargetFields(apiResponse) {
  const result = [];
  const businessList = apiResponse?.data || [];
  // 遍历业务条目
  businessList.forEach(businessItem => {
    const platformList = businessItem?.platforms || [];
    // 遍历平台配置
    platformList.forEach(platformItem => {
      result.push({
        appId: platformItem.appId || "",
        userInfo: platformItem.userId || "" // 替换为实际userInfo对应的取值路径
      })
    })
  })
  return result;
}

对应输入的输出效果

针对你提供的示例响应,执行上述逻辑后,会得到如下结构的结果:

[
   {
     "appId": "xxx",
     "userInfo": "xxx"
   },
   {
     "appId": "xxx",
     "userInfo": "xxx"
   }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 12:57:03