mule - 我们如何在 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 中没有表达式组件。请改用 dataweave 转换消息组件。
所以有了额外的信息,我猜你的有效载荷是一个字符串(不是一个 java 数组?),你的输出是一个空格分隔的 csv 文件。如果是这样,您可以使用正则表达式删除周围的括号,然后用逗号分割以获取行,然后按空格分割以获取字段。然后,您可以将它们合并在一起以获得预期的输出,如下所示:
%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 ($$ ++ $)
)
推荐阅读
- c# - 无法通过 Microsoft Graph API(C# 控制台)发送电子邮件
- javascript - 提交Formik表单时如何在TextField上显示验证错误而没有字段触摸
- forms - MSACCESS 2016 - Form_Click 事件不起作用?
- javascript - Firebase firestore & Express - 构建 json 获取嵌套文档
- dialogflow-es - DialogFlow 集成 Tap 丢失
- c - #包括
问题(Visual Studio 代码) - sql - DELETE 语句与 REFERENCE 约束“FK_BlogCommentReply_BlogCommentId”冲突
- algorithm - 算法复杂度:时间和空间
- python - [aws-eks]如何为使用 cluster.add_nodegroup_capacity 创建的 ec2 实例命名
- java - 在 Spring Boot 中,我们可以通过 @PathVariable 或 @RequestParam 之类的 URL 将锚标记作为变量传递吗?