Mule 4 / DW 2.0 - конвертировать массив в строку, чтобы вставить в базу данных. Любая функция в DW 2.0? - PullRequest
0 голосов
/ 11 декабря 2019

Нужна помощь с преобразованием аудио массива в следующем примере.

Пример:

[{
        "animation_production_studios": [],
        "audio": ["English", "Japanese"]
}]

Ответы [ 3 ]

0 голосов
/ 12 декабря 2019

Примерно так может быть ????

enter image description here

0 голосов
/ 02 января 2020

Просто добавляю к сообщению @aled, но, чтобы предположить, что это правильный желаемый вывод. Все, что вам нужно сделать, это:

%dw 2.0
output text/plain
---
flatten(payload.*audio) joinBy  ","

from dw playground:

0 голосов
/ 11 декабря 2019

Поскольку для вывода не требуется никакого конкретного формата, я просто объединю значения, разделенные запятой. Я использую карту на уровне полезной нагрузки, потому что это массив. Reduce () - это функция, которую я использую для объединения всех строк в аудио в одну строку.

%dw 2.0
output application/json
---
payload map ((item, index) -> item.audio reduce ((i, acc) -> acc ++ "," ++ i )) reduce ((i2, acc2) ->  acc2 ++ "," ++ i2 ) 

Ввод:

[{
        "animation_production_studios": [],
        "audio": ["English", "Japanese"]
},
{
        "animation_production_studios": [],
        "audio": ["German", "Spanish", "Italian"]
}
]

Ввод:

"English,Japanese,German,Spanish,Italian"
...