原创专题
n8n 数组拆分:让每条 AI 结果成为独立 item
从列表拆出独立 item,同时保留批次标识;检查输出数量与字段位置,避免丢失归属。
一次 AI 请求可能返回一个列表,下游却需要逐条处理。本文目标是把同一 batch_id 下的两个合成结果拆成两个 item,并让每个 item 保留批次归属。前提是上游字段确实是数组,且能编辑带 Split Out 的工作流;未启动 n8n 或执行真实 AI 请求。
操作与验收顺序
确定列表在哪个字段
原创输入为 batch_id: demo-batch,results 是含两个对象的数组,每个对象有 label 与 score。预期两个输出各带一个结果和相同 batch_id。先查看实际输入结构:Split Out 拆分的是指定字段里的列表;如果上游已经提供多个 item,不能把它们和一个 item 内的数组混为一谈。[1]
配置拆分和批次保留
将 Field to Split Out 设为 results。Include 提供 No Other Fields、All Other Fields 和 Selected Other Fields;此练习选 Selected Other Fields,在 Fields to Include 指定 batch_id。需要统一输出位置时,可将 Destination Field Name 设为 result。不要为了方便默认保留所有字段,先确认下游实际需要什么。[1]
输出数量和归属一起核对
运行可丢弃样例后,确认输出数量等于输入数组长度,每条都保留 batch_id,且结果对象位于预期字段。默认点号用于访问子字段;输入若有字面点号字段,检查 Disable Dot Notation。二进制输入另由 Include Binary 控制,不从普通 JSON 字段是否保留推断文件也会保留。[1]
失败时回到数据形状
字段不存在、不是数组或输出归属缺失时,先暂停下游动作,检查上游结构和 Include 配置。本文只用离线合成数组检查了数量与批次保留规则,没有执行 Split Out、上传文件或调用模型。实际节点输出和空数组行为应在你使用的版本中观察,不把离线演算当产品执行结果。[1]
本文来源
本站原创整理;官方说明与编辑建议分别标注。