
# n8n表达式教程 – 掌握n8n数据提取与操作
## 工作流概述
这是一个完整的n8n表达式学习教程,由Lucas Peyrin创建,旨在帮助用户掌握n8n中数据提取和操作的核心技能。
## 教程结构
### 数据源设置
– **Source Data节点**:包含所有示例数据,包括用户信息、技能列表、项目数据和联系方式
– 提供结构化JSON数据供后续节点练习使用
### 学习路径
1. **基础数据访问** – 学习如何从节点中提取简单值
2. **n8n选择器** – 掌握`.first()`, `.last()`, `.all()`选择器的使用
3. **数组操作** – 学习访问数组中的特定元素
4. **嵌套数据访问** – 掌握访问对象中的嵌套数据
5. **复杂数据组合** – 访问数组中的对象属性
6. **JavaScript函数** – 使用`.toUpperCase()`, `Math.round()`, `typeof`等函数
7. **对象检查** – 使用`Object.keys()`获取对象键名
8. **实用函数** – 使用`JSON.stringify()`格式化数据
9. **多项目处理** – 使用箭头函数和`.all()`处理多个数据项
### 核心技术点
#### 表达式语法
– 使用双花括号`{{ }}`包裹动态表达式
– 通过`$(‘节点名称’)`引用其他节点的数据
– 使用`.json.属性名`访问具体数据字段
#### 数据访问方法
– **简单值**:`{{ $(‘Source Data’).item.json.name }}`
– **数组元素**:`{{ $(‘Source Data’).last().json.skills[1] }}`
– **嵌套对象**:`{{ $(‘Source Data’).last().json.contact.email }}`
– **数组中的对象**:`{{ $(‘Source Data’).last().json.projects[0].status }}`
#### JavaScript函数集成
– 字符串操作:`.toUpperCase()`
– 数学计算:`Math.round()`
– 类型检查:`typeof`
– 对象检查:`Object.keys()`
– 数据格式化:`JSON.stringify()`
### 实际应用场景
– 从API响应中提取特定字段
– 处理嵌套的JSON数据结构
– 数据转换和格式化
– 多项目数据汇总
– 动态数据操作
### 学习成果
完成本教程后,用户将能够:
– 熟练使用n8n表达式访问各种数据结构
– 掌握JavaScript函数在n8n中的应用
– 处理复杂的数据提取和转换任务
– 构建动态和智能的工作流
## 节点技术细节
### 核心节点类型
– **Set节点**:用于数据赋值和表达式练习
– **SplitOut节点**:用于拆分数组数据
– **Sticky Note节点**:提供教学说明
– **Manual Trigger节点**:启动工作流
### 表达式进阶技巧
– 使用`.last()`确保数据一致性
– 数组索引从0开始
– 箭头函数简化多项目处理
– 错误处理和数据类型验证
这个教程为n8n用户提供了从基础到进阶的完整表达式学习路径,是掌握n8n数据操作能力的理想起点。

评论(0)