我们如何在 mule4 中使用表达式组件
How can we use expression component in mule4
需要知道我们如何使用 DW 或任何其他工具在 mule 4 中使用下面的表达式组件
<expression-component doc:name="Expression to remove ["><![CDATA[payload=payload.replace('[','');]]></expression-component>
输入是:
[A 01 02 03 04, B 01 02 03 04, C 01 02 03 04]
预期输出为:
A 01 02 03 04
B 01 02 03 04
C 01 02 03 04
mule 4 中没有表达式组件。请改用数据编织转换消息组件。
所以根据附加信息,我猜你的有效载荷是一个字符串(不是 java 数组?)并且你的输出是一个 space 分隔的 csv 文件。如果是这样,您可以使用正则表达式删除周围的括号,然后用逗号分隔以获取行,然后用 space 分隔以获取字段。然后您可以将它们合并在一起以获得预期的输出,如下所示:
%dw 2.0
output text/csv header=false, separator=" "
---
((payload match(/\[(.*?)\]/))[1]) splitBy ","
map ((item, index) -> ( (trim(item) splitBy " " )
map (item, index) -> (index as String): item )reduce ($$ ++ $)
)
需要知道我们如何使用 DW 或任何其他工具在 mule 4 中使用下面的表达式组件
<expression-component doc:name="Expression to remove ["><![CDATA[payload=payload.replace('[','');]]></expression-component>
输入是:
[A 01 02 03 04, B 01 02 03 04, C 01 02 03 04]
预期输出为:
A 01 02 03 04
B 01 02 03 04
C 01 02 03 04
mule 4 中没有表达式组件。请改用数据编织转换消息组件。
所以根据附加信息,我猜你的有效载荷是一个字符串(不是 java 数组?)并且你的输出是一个 space 分隔的 csv 文件。如果是这样,您可以使用正则表达式删除周围的括号,然后用逗号分隔以获取行,然后用 space 分隔以获取字段。然后您可以将它们合并在一起以获得预期的输出,如下所示:
%dw 2.0
output text/csv header=false, separator=" "
---
((payload match(/\[(.*?)\]/))[1]) splitBy ","
map ((item, index) -> ( (trim(item) splitBy " " )
map (item, index) -> (index as String): item )reduce ($$ ++ $)
)