как получить строковые значения из списка карт в dataweave 2.0? - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть входная полезная нагрузка, подобная этой -

[ { "а": "" }, { "a": "abc" }, { "a": "pqr" }, { "a": "xyz" } ] и желаемый результат - abc, pqr, xyz

Я пытался следовать dwl, но не смог. Вот фрагмент кода

% dw 2.0

выходное приложение / json

запрос: фильтр полезной нагрузки ($ .a! = '') Map ( $ .a )

Может кто-нибудь помочь мне с данными? Спасибо.

Ответы [ 2 ]

2 голосов
/ 15 апреля 2019

Если желаемым выводом является строка «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 голосов
/ 15 апреля 2019
query: joinBy(payload.a filter $ !="", ',')
  1. Сначала выберите все поля 'a', чтобы получить новый массив только значений.
  2. Фильтровать список по "".
  3. Используйте функцию joinBy для добавления значений массива через запятую.
...