如何在dataweave中获取动态列
how to get dynamic column in dataweave
我吹数组
[ {"FF15974433790786634518": 1 },
{"FF15974433790786634518": 2 },
{"FF15974433790786634519": 1 }]
如何在数据编织中获取["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)
我吹数组
[ {"FF15974433790786634518": 1 },
{"FF15974433790786634518": 2 },
{"FF15974433790786634519": 1 }]
如何在数据编织中获取["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)