问题描述
我吹数组
[ {"FF15974433790786634518": 1 },{"FF15974433790786634518": 2 },{"FF15974433790786634519": 1 }]
如何在 dataweave 中获取 ["FF15974433790786634518","FF15974433790786634519"]
?
解决方法
我们可以map
每个项目和pluck
键。这为我们提供了一个数组数组,因此我们使用 flatMap
(相当于 flatten(payload map(...
。获得我们的平面键数组后,我们可以 distinctBy
过滤掉重复项。
编辑:正如下面@machaval 所评论的那样,您可以使用 namesOf
(它是 pluck 的包装器)使其更加简洁易读。
%dw 2.0
output application/json
---
payload flatMap namesOf($) distinctBy($)
展开时所有这些都在做什么:
%dw 2.0
output application/json
---
flatten(
payload map (item,index) -> (
item pluck ((value,key,index) -> key)
)
) distinctBy ((item,index) -> item)