Json 空变量赋值时的DataWeave最佳实践

Json 空变量赋值时的DataWeave最佳实践,json,mule,integration,transformation,dataweave,Json,Mule,Integration,Transformation,Dataweave,这是一个JSON-JSON转换,将布尔输入(“true”|“false”)转换为字符输出(“Y”|“N”)。 因此,我们选择这样的方式: varOutput: ('Y' when payload.varInput otherwise 'N') 但是如果varInput为null呢?我们有例外。如果不是这样,我可以用另一个来控制它: varOutput: ('Y' when payload.varInput != null otherwise 'N') when payload.varInput

这是一个JSON-JSON转换,将布尔输入
(“true”|“false”)
转换为字符输出
(“Y”|“N”)
。 因此,我们选择这样的方式:

varOutput: ('Y' when payload.varInput otherwise 'N')
但是如果varInput为null呢?我们有例外。如果不是这样,我可以用另一个来控制它:

varOutput: ('Y' when payload.varInput != null otherwise 'N')
when payload.varInput != null otherwise null,

最后一个是空安全的,但我还是觉得应该有一个更优雅的方法。

使用
默认值

{varOutput: ( payload.varInput default 'N')
 }
或者,除非/否则为空安全且更优雅:

{ 
    varOutput: ('Y' unless payload.varInput !=null otherwise 'N')
}

仍然需要将true转换为“Y”。{varOutput:'Y'当(payload.varInput default false)默认值'N'时如何}当然,看起来不错。添加了另一个选项“除非/否则”。