SuperAPI AI 工具集

n8n-expression-syntax

智能体与模型

查看项目

更新于 10-16 05:04

技能介绍

用途:帮助在 n8n 工作流中编写正确的动态表达式,并校验、修复常见语法错误。

主要能力:讲解表达式格式——所有动态内容必须写成 {{expression}},如 {{$json.email}};缺少双花括号会被当作字面文本,单花括号无效,也不能嵌套 {{}}。

核心变量:$json 访问当前节点输出;$node["Node Name"] 引用其他节点,节点名须加引号、区分大小写;$now 获取当前时间并支持 toFormat、plus、minus 等 Luxon 方法;$env 访问环境变量,但实例若启用 N8N_BLOCK_ENV_ACCESS_IN_NODE 会被阻止,此时改用凭据、Set 节点手动赋值或 webhook 查询参数。

Webhook 数据:数据不在根层,而在 .body 下,应写 {{$json.body.name}} 而非 {{$json.name}},根层还含 headers、params、query。

使用方式:字段或节点名含空格、特殊字符时用方括号记法,如 {{$json['field name']}}、{{$node["HTTP Request"].json.data}};支持数组索引、字符串与数学方法、三元运算符、默认值及日期运算。在表达式编辑器中可实时预览结果并查看红色报错。

转换优先级建议:先用消费字段里的表达式,其次在 Edit Fields 字段中用立即调用的箭头函数 IIFE 处理需中间变量的单条逻辑,最后才用 Code 节点做多条目聚合或异步操作;表达式按条目求值约 0.2ms,通常不必为性能拆分节点。

限制与禁忌:Code 节点内使用直接 JavaScript,不写 {{}};webhook 路径只能静态;凭据字段不能使用表达式;避免多余 Set 节点,分支汇聚时用 NoOp 或 Set 锚定,优先用 $('Node').item.json.x 引用。}

资料未提供具体价格与授权信息。

常见修正:补 {{}}、webhook 改用 .body、Code 节点去掉花括号、节点名加引号。