如何从dataweave 2.0中的地图列表中获取字符串值?

问题描述 投票:0回答:2

我有这样的输入有效载荷 -

[{“a”:“”},{“a”:“abc”},{“a”:“pqr”},{“a”:“xyz”}],所需的输出为abc,pqr,xyz

我试过跟随dwl但是没能成功。这是代码片段

%dw 2.0

输出应用程序/ json

query:payload filter($ .a!='')map($ .a)

有人可以帮我解决数据编织问题吗?谢谢。

mule anypoint-studio dataweave mule4
2个回答
2
投票

如果您想要的输出是字符串“abc,pqr,xyz”:

%dw 2.0
output application/json
---
payload filter ($.a != "") map ($.a) joinBy  ","

如果你想获得数组[“abc”,“pqr”,“xyz”]:你的代码很好......

%dw 2.0
output application/json
---
payload filter ($.a != "") map ($.a)

0
投票
query: joinBy(payload.a filter $ !="", ',')
  1. 首先选择所有'a'字段以返回刚刚值的新数组。
  2. 过滤“”列表。
  3. 使用joinBy函数用逗号追加数组值。
© www.soinside.com 2019 - 2024. All rights reserved.