跳到主要内容

表达式常见问题#

以下是关于表达式的常见错误与问题及其排查解决方案。

第0项中的“JSON输出”包含无效JSON#

当启用JSON模式但未提供有效JSON对象时会出现此错误。根据JSON对象的具体问题,错误有时会显示为第0项中的“JSON输出”未包含有效JSON对象

解决方案是确保提供的代码为有效JSON:

  • 使用JSON验证工具检查JSON格式
  • 确认JSON对象未引用未定义的输入数据(当传入数据字段不固定时可能发生)

无法获取表达式数据#

当n8n无法获取表达式引用的数据时会出现此错误,通常发生在前置节点尚未运行的情况下。

此错误的另一种表现形式为引用的节点未执行,完整错误信息会通过以下格式指明具体未执行的节点:

表达式引用了节点“<节点名称>”,但该节点尚未执行。请修改表达式或重新编排工作流以确保该节点优先执行。

开始排查时,请先测试工作流直至报错中指定的节点。

对于使用JavaScript或其他自定义代码的节点,可通过以下方式检查前置节点是否已执行:

$("<node-name>").isExecuted

例如,此 JSON 引用了输入数据的参数。若在未将此步骤连接到其他节点的情况下进行测试,将显示以下错误:

{ "my_field_1": {{ $input.params }} }

无效语法#

当使用存在语法错误的表达式时,会出现此错误。

例如,以下JSON表达式包含一个多余的后置句点,导致无效语法错误:

{ "my_field_1": "value", "my_field_2": {{ $('If').item.json. }} }

要解决此错误,请检查您的表达式语法以确保其符合预期格式。