
本模板是一个互动式分步教程,旨在教会您 n8n 中最关键的技能:使用表达式来访问和操作数据。
如果您了解 JSON 但不确定如何从一个节点提取特定信息并在另一个节点中使用,这个工作流正适合您。它从充当文件柜的单一”源数据”节点开始,然后引导您完成一系列课程,每节课都演示一种检索和转换数据的新技术。
您将学习如何:
- 从前置节点获取简单数值
- 使用 n8n 内置选择器如 和
- 从list (Array)中获取特定项
- 深入嵌套data (Objects)内部
- 结合这些技巧来访问 array of objects中的数据。
- 通过使用 JavaScript 函数进行数学运算或修改文本,实现超越简单检索的操作。
- 使用 和 等实用函数检查数据。
- 利用 和箭头函数对multiple items进行汇总。
表达式是一小段代码,放在双大括号 内,当工作流运行时会被动态值替换。它是连接各个节点的“胶水”。
此节点包含了本教程的所有示例数据。可以把它想象成一个文件柜,其他所有节点都会从这个柜子里获取特定的信息。
查看它的输出以熟悉数据结构。我们有:
- 简单文本()
- 数字()
- 技能列表()
- 复杂项目列表()
- 嵌套的联系人对象()

这是你在 n8n 中最常做的操作。
目标: 从 “Source Data” 节点获取用户的姓名。
表达式:
解析:
- :告诉 n8n “这是一个动态表达式”。
- :选择我们想要获取数据的节点。
- :缩小范围到当前项目的 JSON 数据。
- :选择我们想要获取值的具体 键。
其他可能方式:
- 也可以把右侧字段拖拽到输入框
- 在这种情况下, 也可以使用,因为 可以访问前一个节点的数据。

在上一课中,我们使用了 。当一个节点只输出一个项目时,这等同于 。显式使用 往往更安全、更清晰。
目标: 使用 选择器获取用户姓名。
表达式:
为什么这样更好? 如果一个节点返回多个项目, 可以保证你只获取最后一个项目的数据。
如果你需要将选中的数据与输入项目匹配,这时 是无法替代的。
其他选择器:
- :获取第一个项目的数据。
- :获取所有项目的数据,返回为对象数组。(这与 不同!)

如果数据在列表(数组)中呢?你需要指定想要的哪一项。
目标: 获取用户的第二项技能。
表达式:
解析:
- :选择技能数组。
- :选择特定位置的元素。
- 重要提示: 数组是“从零开始索引”的,这意味着第一项是 ,第二项是 ,第三项是 ,以此类推。

有时,数据会被组织在对象内部的对象中。
目标: 获取用户的电子邮件地址。
表达式:
解析:
- :首先访问 对象。
- :然后再使用一个点 进入下一层,获取其中 键的值。

这是对前几课内容的终极考验!
目标: 获取列表中第一个项目的 status。
表达式:
解析:
- :选择项目数组。
- :选择数组中的第一个对象。
- :从该对象中获取 键的值。

你不仅可以获取数据,还可以操作和检查数据!
表达式示例:
- 转换文本:
- 数学运算:
- 检查数据类型:
解析:
- :字符串的标准 JavaScript 函数,用于转换为大写。
- : 对象提供强大的数学函数。
- :一个操作符,用于告诉你当前数据的类型(如 “string”、”number”、”object” 等)。

如果你有一个对n8n 工作流 教程象,但不知道里面有哪些键,该怎么办? 就能派上用场。
目标: 获取 对象中所有键的列表。
表达式:
这在动态处理数据时非常有用。它会返回一个数组,包含所有键的名称(例如 )。

有时你需要将结构化的 JSON 对象转换回一个干净的单行字符串。这在向其他服务发送数据时很常见,比如在 AI 提示中。
目标: 将整个 对象转换为格式化字符串。
表达式:
解析:
- :执行转换的函数。
- :可选参数,用于“美化输出”,在字符串中添加 2 个空格缩进,使其更易读。

如果一个节点输出多个项目,而你想对它们进行汇总,该用 。
目标: 获取所有用户技能,并合并成一个逗号分隔的字符串。
表达式:
什么是 ? 这是箭头函数(Arrow Function),是一种“对每个元素执行某个操作”的简写形式。
- :在循环中临时代表当前项目的变量名。
- :箭头,用于分隔元素和要执行的操作。
- :要执行的操作——这里是从每个项目中获取技能值。


这个节点运用我们学过的所有知识,构建了一个最终的汇总对象。

- 引用:点击阅读原文
- 代码
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/250590.html原文链接:https://javaforall.net
