在阿里云宜搭(Yida)的 集成化与自动化 功能中,如果你通过 连接器 从外部 API 获取到了一个 数组类型的数据,并希望将这个数组中的每一项 循环遍历并写入到表单的明细表(子表单)或主表字段中,你可以使用 「自动化流程」中的「循环执行」节点 来实现。
以下是详细的实现步骤(适用于宜搭 高级版/专业版,支持自动化流程):
✅ 场景示例
假设:
- 外部 API 返回数据如下: - { "code": 0, "data": [ { "name": "张三", "age": 25, "dept": "技术部" }, { "name": "李四", "age": 28, "dept": "销售部" } ] }
- 你想将 - data数组中的每个对象,逐条插入到表单的「员工明细」子表单中。
✅ 实现步骤
第一步:创建自动化流程
- 进入你的表单详情页。 
- 点击右上角「...」→「自动化」→「新建自动化流程」。 
- 触发条件选择: 
- 「表单提交后」 或 
- 「通过连接器调用后」(如果你是通过 API 触发) 
第二步:添加「连接器」节点,调用外部 API
- 添加一个「连接器」节点。 
- 配置你的外部 API 请求(URL、Headers、Method 等)。 
- 保存后,系统会自动解析返回结果,你可以看到返回的 - data是一个数组。
✅ 建议:在连接器配置中,使用「数据路径」提取数组,例如:
$.data,这样后续节点可以直接使用这个数组。
第三步:添加「循环执行」节点(关键步骤)
- 在连接器节点后,添加一个 「循环执行」 节点。 
- 配置循环数据源: 
- 循环对象:选择连接器返回的数组字段,例如: - 连接器节点名称.返回结果.data - 或者如果你在连接器中已提取为 - $.data,则直接选择该字段。
- 循环体内部可以使用 - item变量来代表数组中的每一项。
📌 注意:在循环中,
item就是当前遍历的对象,如{ "name": "张三", "age": 25 }
第四步:在循环体内「更新表单」或「添加子表单数据」
- 在「循环执行」节点内部,添加一个 「更新当前表单」 或 「添加子表单数据」 节点。 
- 配置子表单字段映射: 
- 员工姓名→ 映射为- item.name
- 年龄→ 映射为- item.age
- 部门→ 映射为- item.dept
- 假设你的子表单字段为: 
- 保存配置。 
✅ 最终流程结构示意
触发条件(表单提交)
        ↓
   [连接器] 调用外部 API,获取数组
        ↓
[循环执行] 循环对象:连接器返回.data
        ↓
    ┌─────────────┐
    │ item = {name, age, dept} │
    └─────────────┘
        ↓
[添加子表单数据] 
   员工姓名 ← item.name
   年龄     ← item.age  
   部门     ← item.dept
        ↓
   (循环下一条)✅ 注意事项
- 子表单必须提前创建:确保你的表单中已添加「明细表」或「子表单」组件,并命名好字段。 
- 数据路径正确:在连接器返回结果中,确保你能正确提取数组字段(可用 JSON Path 测试)。 
- 性能限制:循环次数不宜过多(建议 < 100 条),避免流程超时。 
- 错误处理:可添加「条件判断」节点,跳过空值或异常数据。 
- 仅高级版支持:免费版宜搭不支持「循环执行」和「自动化」,需升级。 
✅ 替代方案(无循环节点时)
如果你的版本不支持「循环执行」,可以考虑:
- 使用 自定义连接器 + 服务端钩子(Webhook),在后端处理数组并调用宜搭 OpenAPI 批量更新。 
- 调用宜搭的 「批量新增子表单数据」API(需开发能力)。 
✅ 宜搭 OpenAPI 参考(开发者可选)
如果你想通过代码实现,可调用:
- 接口: - /v2/forms/{formCode}/records/batchCreateSubform
✅ 总结
| 步骤 | 操作 | 
|---|---|
| 1 | 用「连接器」获取外部 API 返回的数组 | 
| 2 | 使用「循环执行」节点遍历数组 | 
| 3 | 在循环体内用「添加子表单数据」将 item.xxx写入表单 | 
| 4 | 确保子表单字段与 item字段一一对应 | 
✅ 只要你的宜搭版本支持「自动化」和「循环执行」,就可以轻松实现数组数据的遍历写入。
如果你能提供具体的 API 返回格式和表单结构,我可以帮你写出更精确的字段映射。需要吗?