n8n 表达式语法指南:快速修复 {{ }} 报错与变量调用
解决 n8n 工作流中动态值调用失败的问题,通过规范化 {{ }} 语法、明确
为什么需要这个技能
在 n8n 中,绝大多数节点参数都需要通过表达式(Expressions)来实现动态赋值。初学者最容易在两个地方出错:一是忘记包裹双花括号 {{ }},导致参数被当作纯文本处理;二是误以为 Webhook 接收的数据在根目录,导致无法获取到实际的用户提交内容。
掌握这套语法规范,可以让你在构建复杂工作流时,精准地在不同节点间传递数据,而无需频繁通过运行节点来猜测数据结构。
适用场景
- 在节点参数中使用
{{ ... }}语法定义动态值。 - 需要引用之前节点的输出结果(跨节点数据传递)。
- 处理 Webhook 接收到的 Payload 数据。
- 在工作流中使用当前时间戳(
env)。
核心工作流
1. 基础语法规范
所有动态内容必须包裹在双花括号中:
- ✅ 正确:
{{$json.email}} - ❌ 错误:
$json.email(会被视为普通字符串)
2. 核心变量调用
- 当前节点数据:使用
{{$json.fieldName}}。如果字段名含空格,必须使用方括号:{{$json['field name']}}。 - 跨节点引用:使用
{{$node["节点名称"].json.fieldName}}。注意节点名称必须加引号且区分大小写。 - 时间与环境:使用
{{$now}}获取当前时间,{{$env.VARIABLE_NAME}}获取环境变量。
3. Webhook 数据陷阱(最常见错误)
Webhook 节点接收的数据不在根目录,而是在 .body 属性下。
- ❌ 错误:
{{$json.name}} - ✅ 正确:
{{$json.body.name}}
4. 特殊场景禁用
- Code 节点:直接使用 JavaScript 语法,禁止使用
{{ }}。- ✅ 正确:
const email = $json.email;
- ✅ 正确:
- Webhook 路径:仅支持静态字符串,不支持表达式。
下载和安装
下载 n8n-expression-syntax 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐