使用函数节点进行数据整合与数组转换 - n8n 工作流

学习如何使用 n8n 的 Function 节点将多个传入节点数据整合成一个 JavaScript 数组。这是 n8n 工作流中用于数据转换的核心技巧。

工作流预览

准备好自动化了吗?

下载此 n8n 工作流模板并立即开始使用。

n8n 工作流所用节点

适用人群


  • 需要重构和整合被拆分的数据负载的 n8n 用户。

  • 在 n8n 工作流中需要自定义 JavaScript 转换逻辑的开发者。

  • 处理要求单个统一 JSON 数组作为输入的 API 的自动化专家。

  • 正在学习 n8n 模板中高级数据处理技巧的用户。

概览

数据转换是构建健壮自动化流程的核心要求。虽然许多 n8n 节点会生成独立的数据项(拆分数据),但后续服务通常要求一个包含所有记录的、单一的、统一的数组。这个强大的 n8n 工作流通过提供一个可复用的 n8n 节点配置来解决这个挑战,该配置能将多个数据项合并成一个完整的 JSON 数组。

这个特定的 n8n 模板使用 Function n8n 节点来映射输入数据项,高效可靠地解决了节点数据整合的常见问题,使您的整体 n8n 工作流更清晰、运行更快。

工作原理

这个基础 n8n 工作流启动时无需外部触发器,而是依赖内部测试节点来演示数据流转。


  1. 数据模拟: 'Mock Data' (模拟数据) n8n 节点生成三个独立的输入数据项,模拟从上一步(如数据库查询或 API 调用)接收到的数据。

  2. 整合逻辑: 所有三个数据项流入 'Create an array of objects' (创建对象数组) n8n 节点。该 Function 节点执行自定义 JavaScript 代码,遍历输入数组 (items)。

  3. 转换: 脚本使用 items.map(item => item.json) 从每个独立的 n8n 数据项中提取原始数据负载(payload),并将其编汇成一个连贯的 JavaScript 数组。

  4. 最终输出: n8n 工作流最后输出一个数据项,其中在 data_object 键下包含了新形成的数组。此技术可确保后续的 n8n 节点接收到的是已整合的数据,可直接用于批量处理。

安装指南

要开始使用此数据整合 n8n 工作流:


  1. 导入 n8n 工作流: 复制提供的 JSON 代码。

  2. 打开您的 n8n 实例并导航到“工作流”(Workflows) 部分。

  3. 点击“新建”(New),选择“从 JSON 导入”(Import from JSON)。粘贴所有代码。

  4. 执行: 由于此 n8n 模板仅使用了 Function 节点,因此无需外部凭据。只需点击“测试工作流”(Test Workflow) 或激活工作流并手动执行,即可看到数据转换的实际效果。

  5. 查看最终 n8n 节点的输出,即可看到整合后的数组结构。

节点详情

此 n8n 工作流利用了两个关键的 Function n8n 节点:

节点名称: Mock Data (模拟数据) (Function)
功能: 通过生成三个独立的数据项来模拟 n8n 工作流的输入数据,每项都包含一个简单对象(idname)。
关键配置: 包含硬编码的 JavaScript,返回一个包含三个独立对象的数组,以模仿常见于“分批拆分”(Split In Batches) 或数据库 n8n 节点之后的结构。

节点名称: Create an array of objects (创建对象数组) (Function)
功能: 此关键的 n8n 节点负责数据整合,将分开传入的各个数据项合并成一个单一的数组结构。
关键配置: 使用的 JavaScript 代码是 return [ { json: { dataobject: items.map(item => item.json), }, } ];。此代码遍历输入项(items),提取数据负载(item.json),并将生成的 JavaScript 数组包装在 dataobject 键下的单个输出数据项中。这展示了任何复杂 n8n 模板所需的基础数据操作技巧。

相关 n8n 工作流

免费

节点: 1 节点
更新时间: 2025年12月26日
创建者
ghagrawal17
ghagrawal17

精选*