You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mule 3中#[payload.?status == 'completed']含义及Mule 4实现咨询

Mule 3与Mule 4中集合元素过滤的语法说明

Mule 3中payload.?status == 'completed'里问号的含义

在Mule 3的DataWeave 1.0中,这个问号是集合过滤操作符。它的作用是遍历集合类型的payload,筛选出所有status属性值等于'completed'的元素,最终返回一个包含所有符合条件元素的新集合。如果payload不是集合类型,该表达式会返回空集合或触发错误(根据具体场景而定)。

Mule 4中实现相同功能的方式

Mule 4采用DataWeave 2.0,语法做了调整,实现相同的集合过滤功能有两种常用写法:

  • 使用filter函数(可读性更强):
    payload filter ((item) -> item.status == 'completed')
    
  • 使用过滤缩写语法(更简洁):
    payload[?($.status == 'completed')]
    

需要注意的是,Mule 4中的payload.key?是用来检查指定键是否存在的语法,和集合过滤的语法是不同的功能,不要混淆。

内容的提问来源于stack exchange,提问作者kushma gonna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 01:01:13