理解数据结构#
本章将介绍n8n的数据结构,以及如何使用代码节点进行数据转换和模拟节点输出。
n8n的数据结构#
本质上,n8n节点充当着提取、转换、加载(ETL)工具的角色。这些节点支持您从多个不同来源访问(提取)数据,以特定方式修改(转换)数据,并传递(加载)到目标位置。
在工作流中节点间传递的数据必须采用可被每个节点识别和解析的格式(结构)。在n8n中,这种必需结构是对象数组。
关于对象数组
数组是值的列表。数组可以是空的,也可以包含多个元素。每个元素存储在列表中的位置(索引)从0开始,可通过索引号进行引用。例如在数组["Leonardo", "Michelangelo", "Donatello", "Raphael"];中,元素Donatello存储在索引2的位置。
对象存储的是键值对,而非像数组那样按数字索引存储值。键值对的顺序并不重要,因为可以通过引用键名来访问值。例如以下对象包含两个属性(name和color):
{ name: 'Michelangelo', color: 'blue', }
对象数组是包含一个或多个对象的数组。例如,下面的 turtles 数组包含四个对象:
var turtles = [
{
name: 'Michelangelo',
color: 'orange',
},
{
name: 'Donatello',
color: 'purple',
},
{
name: 'Raphael',
color: 'red',
},
{
name: 'Leonardo',
color: 'blue',
}
];
您可以使用点符号语法 object.property 访问对象的属性。例如,turtles[1].color 可获取第二个乌龟的颜色。
从一个节点发送到另一个节点的数据以 JSON 对象数组的形式传输。该集合中的元素称为数据项。

数据项
n8n 节点会对输入数据的每个数据项执行其操作。

客户数据存储节点中的数据项