Skip to content

表达式常见问题#

以下是与表达式相关的一些常见错误和问题以及解决或故障排除的步骤。

项目 0 中的 'JSON Output' 包含无效的 JSON#

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

要解决此问题,请确保您提供的代码是有效的 JSON:

  • 使用 JSON 验证器检查 JSON。
  • 检查您的 JSON 对象没有引用未定义的输入数据。如果传入数据并不总是包含相同的字段,可能会发生这种情况。

无法获取表达式的数据#

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

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

表达式引用了节点 '<node-name>',但它尚未执行。要么更改表达式,要么重新连接您的工作流以确保该节点首先执行。

要开始故障排除,请测试工作流直到指定的节点。

对于使用 JavaScript 或其他自定义代码的节点,您可以在尝试使用其值之前检查前一个节点是否已执行,方法是检查以下内容:

1
$("<node-name>").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. }}
}

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