2016-05-25 7 views
0

у меня есть, как { {Id: "1"}, {Id: "2"}, {Id: "3"} }как получить массив целых чисел в dataweave входных значений

Я хочу, чтобы выход как массив {1,2,3} в целочисленных форматах, используя DataWeave в mule anypoint studio, чтобы я мог использовать полезную нагрузку для запросов к записям из базы данных sql-сервера, вместо этого, используя цикл для каждого процессора.

Я хочу, чтобы использовать его в качестве

select * from tblQuotes where id in #[payload] 

обновление: Требуется как

 select * from tblQuotes where id in (1,2,3) 

ответ

0

Попробуйте следующие

%dw 1.0 
%output application/json 
--- 
(payload map { 
    id : $.Id as :number 
}).*id 

Для входа в

[{"Id":"1"}, {"Id":"2"}, {"Id":"3"}]

Выхода

[1,2,3]

Надеется, что это помогает

+0

Это дало мне результат как arryaList, но при запросе базы данных не поддерживается, как я могу использовать как выбрать * из tblQuotes где идентификатор в # [полезная нагрузка] должна запрашивать, как select * from tblQuotes, где id в (1,2,3) –

+0

Как я могу добиться того же, чтобы мне не нужно было запрашивать db каждой итерации. –

+1

Вы можете использовать функцию joinBy для передачи данных. например '. * id joinBy", "' вы получите выход как '1,2,3'. Затем используйте эту полезную нагрузку как 'select * from tblQuotes, где id в (# [полезная нагрузка])' – AnupamBhusari