dataweave - 在 Dataweave Mule 中进行 Null 检查的更好方法
问题描述
我通常在 Dataweave 中进行空检查,如下所示,
{ payload.variableA 当有效载荷!= null 否则为 null }
但是我的一位同事建议我使用默认 {} 来减少空检查,如下所示,
%var x = payload default {}
{
payload.variableA
}
因为它提高了可读性,尤其是在复杂的转换中。
但是这样做真的是一个好习惯吗?它会导致任何问题,例如创建不必要的空对象吗?
解决方案
首先,payload.variableA
当有效载荷为空时应返回空。您无需对此进行检查。尝试访问空对象上的键会返回空值,而不是抛出您可能习惯的空指针异常之类的东西。
您可以将其default
视为 dataweave 的 null-coalesce 运算符。您可以将其设置为空对象、默认值等。
https://docs.mulesoft.com/mule-runtime/4.3/dataweave-cookbook-defaults
默认运算符在 DW1 和 DW2 中的行为相同。
推荐阅读
- javascript - ng-repeat 中未定义函数“x”
- c++ - 创建动态分配的指针数组 C++
- react-native - TypeError:对象不是构造函数(评估'new _pubnubReact.default')
- java - 设置代理和发送标头的问题 - selenium 和 java
- visual-c++ - 为什么此 SIMD 代码运行速度比等效标量慢?
- excel - 如果可能,使用 VBA 或任何 excel 公式单击按钮时从 excel 表中删除 n% 的行
- kubernetes - Kubernetes 从端点 REST API 拉取信息
- numpy - 如何提取多模态自动编码器的编码部分并将 .h5 模型转换为 numpy 数组?
- php - 如何使用 php 修改站点地图 xml 中的 lastmod 节点
- swift - 无法将“UIImage”类型的值分配给“UIImageView”类型