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

how to get string values from list of maps in dataweave 2.0?

我有这样的输入负载 -

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

我试过关注 dwl 但没有成功。这是代码片段

%dw 2.0

输出application/json

查询:负载过滤器($.a != '')映射( $.a )

有人可以帮我处理数据编织吗?谢谢。

如果您想要的输出是字符串 "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)
query: joinBy(payload.a filter $ !="", ',')
  1. 首先 select 所有 'a' 字段到 return 仅值的新数组。
  2. 过滤“”的列表。
  3. 使用 joinBy 函数用逗号附加数组值。