如何在Mule表达式计算器中使用三元运算符

如何在Mule表达式计算器中使用三元运算符,mule,Mule,在我的Mule流中,我希望在消息充实元素中使用三元操作 例如,以下是当源为null时抛出错误的现有行: <enricher doc:name="Add revision number" target="#[variable:rev]" source="#[json:_rev]"> 以下是尝试使用三元运算时的行: <enricher doc:name="Add revision number" target="#[variable:rev

在我的Mule流中,我希望在消息充实元素中使用三元操作

例如,以下是当源为null时抛出错误的现有行:


        <enricher doc:name="Add revision number" target="#[variable:rev]" source="#[json:_rev]">

以下是尝试使用三元运算时的行:


        <enricher doc:name="Add revision number" target="#[variable:rev]" source="#[json:_rev == null ? '' : json:_rev]">

如果从扩展源返回null,我想返回一个空字符串。我不希望在Mule尝试使用“setProperty()”函数分配空值时引发错误


目前,三元示例可以工作,但它返回“false”(不是字符串)。

这不是Mule表达式语言(MEL),而是旧的计算器语法,它不支持三元表达式

编辑:

我建议您去看看JSON处理是如何完成的


从您提供的部分信息来看,我认为您需要在HTTP出站端点的响应阶段使用
json到对象转换器
(获取json正确吗?)。然后您可以在enricher中使用MEL三元表达式。

=(因此,如果我想检查null,是否可以使用其他语法?我还想尝试在消息enricher中的元素后面添加一些groovy,但这似乎不起作用。在我的回答中添加了一个建议。