首页 > 解决方案 > 在 Dataweave Mule 中进行 Null 检查的更好方法

问题描述

我通常在 Dataweave 中进行空检查,如下所示,

{ payload.variableA 当有效载荷!= null 否则为 null }

但是我的一位同事建议我使用默认 {} 来减少空检查,如下所示,

%var x = payload default {}
{
payload.variableA
}

因为它提高了可读性,尤其是在复杂的转换中。

但是这样做真的是一个好习惯吗?它会导致任何问题,例如创建不必要的空对象吗?

标签: dataweavemulesoft

解决方案


首先,payload.variableA当有效载荷为空时应返回空。您无需对此进行检查。尝试访问空对象上的键会返回空值,而不是抛出您可能习惯的空指针异常之类的东西。

您可以将其default视为 dataweave 的 null-coalesce 运算符。您可以将其设置为空对象、默认值等。

https://docs.mulesoft.com/mule-runtime/4.3/dataweave-cookbook-defaults

默认运算符在 DW1 和 DW2 中的行为相同。


推荐阅读