必须用 loop 节点逐层展开嵌套 json,设置循环路径为 orders.*.items,内部节点使用 {{item.xxx}} 引用字段,输出数组可经聚合节点过滤或计算。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在扣子(Coze)工作流中批量处理含多层嵌套的 JSON 数据(比如 API 返回的「订单→商品→SKU→价格明细」结构),必须用 Loop 节点逐层展开并独立操作每个子项,否则无法对每个 SKU 单独调用支付接口或写入数据库。
确认数据结构并启用 Loop 节点
打开工作流编辑器 → 拖入一个 Loop 节点 → 点击节点右上角「设置」图标 → 在「输入数据源」栏粘贴你已获取的嵌套数据(例如 {"orders": [{"id": "O1", "items": [{"sku": "S001", "qty": 2}, {"sku": "S002", "qty": 1}]}]})→ 展开「高级设置」→ 将「循环路径」设为 orders.*.items。
【注意:路径必须以 .*. 开头,不能写成 orders.items 或 orders[0].items,否则只会取第一个订单下的 items】
这一步做完后,Loop 节点会自动识别出 2 个待处理项(S001 和 S002),后续所有连接到 Loop 内部的节点都将针对每个 item 执行一次。
在 Loop 内部调用子流程或工具
把「HTTP 请求」节点拖进 Loop 区域内部 → 配置 URL 为 https://api.example.com/sku/validate → 请求体 Body 使用 JSON 格式 → 在 sku 字段填入 {{item.sku}},在 qty 字段填入 {{item.qty}}。
如果验证失败需中断当前 item 处理但继续下一个,就在 HTTP 节点后接一个「条件判断」节点 → 判断响应状态码是否为 200 → 否则直接连到 Loop 的「结束」端口(不走错误分支)。
这一步的关键是:所有变量都必须带 {{item.xxx}} 前缀,【绝对不能写成 {{sku}} 或 {{input.sku}},否则会报 undefined】。
收集 Loop 输出并聚合结果
Loop 节点默认输出一个数组,每个元素是该次循环内最后一个节点的输出结果。若你在 Loop 内部最后放的是「JSON 解析」节点,且它输出 {"valid": true, "price": 89.9},那么 Loop 结束后得到的就是类似 [{"valid":true,"price":89.9}, {"valid":false,"price":null}] 的数组。
把「聚合」节点接在 Loop 后 → 选择「过滤」模式 → 条件设为 item.valid === true → 输出即为所有校验通过的 SKU 价格列表。
若需要统计总数,就换用「计算」节点 → 表达式填 input.length → 得到有效 SKU 数量。











