Избавление от «тела» из содержимого массива при добавлении его к полезной нагрузке запроса API JSON в Logic Apps

Я новичок в Logic Apps и думаю, что это базовая проблема манипулирования данными, но я застрял в ней уже несколько дней и надеюсь, что кто-нибудь сможет мне помочь.

У меня есть рабочий процесс Azure Logic Apps, который запрашивает кучу адресов из Dataverse, и тогда:

  1. Разбор JSON
  2. Создание массива адресов путем избавления от всех метаданных odata и выбора только тех полей, которые мне нужны.
  3. Отправка запроса API стороннему объекту путем добавления содержимого массива к запросу API.

Вот как выглядит рабочий процесс на этом скриншоте.

Избавление от «тела» из содержимого массива при добавлении его к полезной нагрузке запроса API JSON в Logic Apps

К сожалению, запрос API, который я отправляю, отформатирован неправильно, потому что он выглядит так.

но ожидается, как на этом скриншоте.

По сути, я не знаю, как добавить только содержимое массива без тела, которое получается в результате действия «Выбрать».

Действие «Выбрать» настроено как на этом скриншоте.

Я думал, что мне нужно использовать это действие, а не создание, потому что некоторые из этих полей AddressLine являются необязательными, и при использовании действия «Создать» в цикле For Each это приводит к сбою рабочего процесса из-за отсутствия полей.

В любом случае, есть ли какие-нибудь советы о том, как правильно манипулировать данными и создавать запрос JSON API, как ожидалось? Буду признателен за любую оказанную помощь!

Спасибо!

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

Какое действие вы используете из соединителя Dataverse?

Ikhtesam Afrin 11.03.2024 09:53

@IkhtesamAfrin Извините, я впервые создаю сообщение в stackoverlow, и я только что заметил изображения, добавленные к тексту в качестве комментариев, я только что их исправил. Я думаю, вы имели в виду действие «Выбрать», которое создает объект с телом: и массивом в нем. Если вы имеете в виду, как я получаю данные из Dataverse, то это список строк из Dataverse с использованием запроса fetchXML.

Francesco 11.03.2024 10:02

Какую таблицу вы используете из действия списка строк?

Ikhtesam Afrin 11.03.2024 10:03

@IkhtesamAfrin Я только что добавил скриншот части запроса в основной пост. Таблица, которую я использую, является пользовательской.

Francesco 11.03.2024 10:09

Попробуйте использовать действие Append to string variable, оно работает.

Ikhtesam Afrin 11.03.2024 10:35

@IkhtesamAfrin Если я использую добавление к строковой переменной, мне придется манипулировать строкой, чтобы удалить часть «{body:» в начале, что я и сделал, и все было в порядке. Затем я добавил строку в полезный объект json (обернув строку в функцию json()), и она обрабатывает только первый элемент адреса, а не все адреса, представленные в строке.

Francesco 11.03.2024 10:39

Используя действие «Добавить к строковой переменной», я получаю ожидаемый результат . Я получаю этот вывод без каких-либо манипуляций со строками напрямую, используя вывод Select.

Ikhtesam Afrin 11.03.2024 10:43

@IkhtesamAfrin Я до сих пор получаю часть тела, понятия не имею почему imgur.com/a/n27czI3

Francesco 11.03.2024 11:17
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
8
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы избавиться от параметра body из вывода действия Select, я использовал действие «Добавить к строковой переменной» и добавил в него body('Select') в качестве значения.

Таким образом, я могу получить ожидаемый результат без каких-либо манипуляций со строками.

Другие вопросы по теме