Skip to content

表达式常见问题#

以下是关于表达式的一些常见错误和问题,以及解决方法或排查步骤。

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

当您使用JSON模式但没有提供有效的JSON对象时会出现此错误。根据JSON对象的问题不同,错误有时会显示为第0项中的'JSON输出'不包含有效的JSON对象

解决方法:

  • 确保您提供的代码是有效的JSON:
  • 使用JSON验证器检查JSON
  • 检查您的JSON对象没有引用未定义的输入数据。如果传入数据不总是包含相同字段,可能会出现这种情况

无法获取表达式数据#

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

此错误的另一种变体可能显示为引用的节点未执行。在这种情况下,完整的错误文本会以下列格式告诉您具体哪个节点未执行:

表达式引用了节点'<节点名称>',但该节点尚未执行。请更改表达式或重新连接工作流以确保该节点先执行。

排查步骤:

  1. 测试工作流直到指定的节点
  2. 对于使用JavaScript或其他自定义代码的节点,您可以通过检查以下内容来确认前置节点是否已执行:
1
$("<节点名称>").isExecuted

示例:

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

1
2
3
{
  "my_field_1": {{ $input.params }}
}

语法无效错误#

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

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

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

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