Преобразовать массив Json без ключа в формат SOQL в муле - PullRequest
0 голосов
/ 01 ноября 2018

Преобразовать формат Json, как показано ниже

Введите:

["100555809","100000001"]

в следующем формате, чтобы его можно было использовать в запросе SOQL, назначив преобразованному выводу некоторую переменную потока в соединителе salesforce.

Выход:

('100555809','100000001')

1 Ответ

0 голосов
/ 02 ноября 2018

Предполагая, что ваш ввод является полезной нагрузкой, и вы хотите получить строку в качестве вывода, вы должны использовать map, чтобы заключить все ваши идентификаторы в одинарные кавычки, а затем joinBy, чтобы объединить их в одну строку. Наконец, вы заключите результат в круглые скобки:

%dw 1.0
%output application/java

%var ids = payload

// Wrap ids in single quotes and join them into a string
%function formatIds(ids)
  ids 
    map ((id) -> "'$(id)'")
    joinBy ","

%function transformForSOQL(ids)
  "($(formatIds(ids)))"
---
transformForSOQL(ids)

Не уверен, что SOQL подвержен тем же уязвимостям, но если это так, будьте осторожны с внедрением "SOQL" при создании значений динамического запроса, подобных этому.

...