如何使用三元运算符与Mule表达式求值程序

时间:2013-01-09 19:08:21

标签: mule

在我的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尝试使用&#39; setProperty()&#39;时,我不想要抛出错误。函数指定空值。

目前三元示例有效,但它会返回“假”字样。 (而不是字符串)。

1 个答案:

答案 0 :(得分:2)

这不是骡子表达语言(MEL),而是旧的评估者语法,它不支持三元表达式。

编辑:

我建议您获取MEL cheatsheet,看看如何完成JSON处理。

根据您提供的部分信息,我认为您需要在HTTP出站端点的响应阶段json-to-object-transformer(提取JSON对吗?)。然后,您可以在您的浓缩器中使用MEL三元表达式。