如何使用DataWeave无需迭代数组移除Map数组中的指定字段
用DataWeave实现移除指定字段的几种方法
嘿,这个需求用DataWeave实现起来很直观,我给你分享两种常用的方案,你可以根据实际场景选择:
方案1:显式保留需要的字段
这种方式适合你明确知道要保留哪些字段的场景,直接在每个对象里选取a和b字段就行:
%dw 2.0 output application/json --- payload map ((item) -> { a: item.a, b: item.b })
方案2:移除不需要的字段
如果后续可能有新增字段需要保留,不想每次都修改选取逻辑,就可以用-操作符直接移除c和d:
%dw 2.0 output application/json --- payload map ((item) -> item - ["c", "d"])
测试验证
把你的输入数组作为payload传入:
输入:[{a:1,b:2,c:3,d:4},{a:5,b:6,c:7,d:8}]
两种方案都会输出你想要的结果:
输出:[{a:1,b:2},{a:5,b:6}]
这两种方法都能完美实现需求,方案2更灵活,适合字段较多或有新增字段的场景;方案1则更直观,适合字段固定且数量少的情况。
内容的提问来源于stack exchange,提问作者Gopi
相关产品推荐
相关产品推荐

