2

在我的 Mule 流程中,我想在消息丰富元素中使用三元运算。

例如,以下是当源为空时引发错误的现有行:


        <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()”函数分配空值时,我不希望引发错误。

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

4

1 回答 1

2

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

编辑:

我建议您获取MEL 备忘单,看看 JSON 处理是如何完成的。

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

于 2013-01-09T19:12:37.410 回答