Превращение массива в строку в SnapLogic - PullRequest
2 голосов
/ 05 февраля 2020

У меня есть вывод SOQL-оснастки SalesForce, представляющий собой JSON в этом формате.

[
  {
    "QualifiedApiName": "Accelerator_Pack__c"
  },
  {
    "QualifiedApiName": "Access_Certifications__c"
  },
  {
    "QualifiedApiName": "Access_Requests__c"
  },
  {
    "QualifiedApiName": "Account_Cleansed__c"
  },
  {
    "QualifiedApiName": "Account_Contract_Status__c"
  }
]

Я пытаюсь взять эти значения и превратить их в строку со значениями, разделенными запятыми Примерно так, чтобы я мог использовать это в предложении SELECT другого запроса.

Accelerator_Pack__c, Access_Certifications__c, Access_Requests__c, Account_Cleansed__c, Account_Contract_Status__c

Из документации я понял, что .toString () преобразует массив в строку, разделенную запятыми, но, как показано на прикрепленном изображении, ничего не делает. У кого-нибудь есть опыт с этим?

enter image description here

1 Ответ

2 голосов
/ 05 февраля 2020

Вам необходимо объединить входящие документы.

Используйте оснастку Aggregate с функцией CONCAT. Это даст вам объединенную строку с разделителями | в качестве вывода, как показано ниже.

Accelerator_Pack__c|Access_Certifications__c|Access_Requests__c|Account_Cleansed__c|Account_Contract_Status__c

Затем вы можете заменить | на ,, как $concatenated_fields.split('|').join(',') или $concatenated_fields.replace(/\|/g, ',').

Ниже приводится подробное объяснение конфигурации.

Пример конвейера:

Sample Pipeline

Ввод образца:

Я установил образец JSON, который вы предоставили в JSON Generator для тестирования.

Sample Input

Агрегация:

Aggregation

Результат агрегации:

Вы получаете | строка с разделителями.

aggregate output

Выражение Mapper:

mapper

Вывод:

Оба выражения дают одинаковый результат.

Output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...