MENU
    Понимание массивов и объектов в выходных данных функций коннектора
    • 23 Jan 2025
    • 4 Минуты для чтения
    • Авторы

    Понимание массивов и объектов в выходных данных функций коннектора


    Вводный текст

    Назначение

    Функции коннекторов SQL и HTTP передают "выходные данные" в приложения в виде объектов или массивов. Узнайте, как манипулировать объектами в приложениях.

    В этой статье вы узнаете...* Как использовать "Выходы" из функции коннектора в приложении

    Как использовать выходы функций-коннекторов в приложениях

    Массивы и объекты - две популярные структуры данных, которые используются во многих языках программирования. Tulip использует обе эти структуры данных в функциях коннектора:

    1. Когда функция коннектора SQL выводит несколько строк, результат отправляется в приложение в виде массива, состоящего из объектов.
    2. Когда функция HTTP-коннектора возвращает вывод с массивом, этот массив появляется в приложении как массив, полный объектов.
    3. Когда функция коннектора SQL выводит одну строку или функция коннектора HTTP имеет любой выход, значения хранятся в объекте в виде пар ключ/значение.

    Объекты могут быть созданы автоматически только после успешного завершения функции коннектора.

    В этом руководстве вы узнаете, как автоматически организуются выходные данные функции коннектора. Затем вы узнаете, как использовать эти выходные данные в приложениях.

    Сбор выходных данных из коннекторов

    Представьте, что вы хотите получить все данные об определенном операторе из базы данных SQL на основе его идентификатора бейджа Tulip.

    Для этого вы напишете функцию SQL-коннектора, которая примет badge_id в качестве входных данных и сохранит всю информацию об операторе в выходном файле. В данном случае выход называется group_name. Вот как это будет выглядеть:

    У этой функции один выход - имя_группы, который хранится в виде строки. Это основано на метке "Text" в разделе Outputs.

    На самом деле, когда вы создаете функцию Connector, нет возможности хранить выходные данные в виде массива или объекта. Вот допустимые типы данных из раздела "Выходы".

    Поэтому вы должны сохранить его как "Текст", а затем работать с ним в редакторе триггеров.

    Запустите эту функцию в редакторе триггеров, чтобы сохранить вывод в объекте.

    • "Запустить функцию коннектора" коннектор: "SBD - Тест" "Навигация оператора"
    • ID бейджа: "Static Value" "text" "2222" и сохраните результат как: "Переменная" "test_var".

    В этом случае вы используете значение 2222 в качестве входного, а результат сохраняете в переменной "test_var".

    Использование объектов в приложении

    В приведенном выше примере мы взяли выходное значение под названием group_name и сохранили его в переменной под названием test_var. В представлении App Variables показано, что эта переменная на самом деле является объектом с одним свойством под названием "group_name".

    На самом деле, если бы функция соединителя имела несколько выходов, каждый из них сохранялся бы как новое свойство объекта под названием "test_var", который был создан в триггере. Это позволяет организовать все выходы одного вызова функции в одном месте.

    Вы можете протестировать выходы функции, добавив в приложение текст переменной и выбрав переменную на вкладке Widget контекстной панели.

    В данном случае у нас есть переменная под названием "Order Details", которая хранит объект с 5 полями:

    • orderPlaced
    • количество
    • адрес1
    • адрес2
    • адрес3

    Как только вы выберете объект в окне поиска переменных, в вашем приложении появятся все 5 полей с метками, основанными на названиях свойств. Возможно, вам придется развернуть текстовое поле переменной, чтобы увидеть их все сразу.

    Отображение объектов

    Если у вашего объекта есть несколько свойств, вы можете захотеть отобразить их все сразу на одном шаге вашего приложения. Это проще, чем создавать новый переменный текст для каждого отдельного свойства.

    Чтобы переупорядочить/удалить отдельные свойства объекта, щелкните символ x или сетки на свойстве в контекстной панели.

    Чтобы изменить количество столбцов, воспользуйтесь опцией Columns на боковой панели.

    Чтобы изменить отображение меток и значений, настройте цвет и размер шрифта на боковой панели.

    Чтобы увидеть, как эти данные будут показаны оператору, запустите приложение в Player, и вы сможете увидеть весь объект. Значения будут включены, если вы сначала запустите функцию коннектора, которая собирает значения.

    Манипулирование объектами

    Использование массива объектов в приложении может ограничить ваши возможности по извлечению нужных данных. Вы можете манипулировать массивом объектов, выводимым функцией коннектора, чтобы упростить доступ к данным, которые вы хотите использовать в своей логике и т. д. Это можно сделать, указав ключ(и) в объекте, который вы хотите извлечь. Это поможет упорядочить вывод данных, позволяя лучше использовать интересующие вас данные.

    Пример функции коннектора показан ниже:

    image.png

    image.png

    Вышеприведенный результат представляет собой массив объектов. Когда функции соединителя возвращают массив объектов, в редакторе выражений есть действия, которые помогают ими манипулировать. Эти функции map позволяют сопоставить соответствующие значения на основе заданного ключа. Выведенные значения можно сопоставить с массивом выбранного типа. Вы можете использовать MAP_TO_TEXT_LIST(), чтобы получить текстовый массив всех названий.

    image.png

    • Коннектор "Запустить функцию коннектора": "Test" "Test Function" и сохраните результат как: "test_output"
    • "Манипуляция данными" "Хранить" данные: "Выражение" "MAP_TO_TEXT_LIST(Variable.test_out.Test Parent, 'Test Child')

    Первым параметром, передаваемым в функцию map, является массив объектов. Второй параметр, 'Test Child', - это имя экстрактора, указанное в выводе функции connector. Имя экстрактора используется в качестве ключа для извлечения значений. В результате все названия будут выведены в массив строк.

    Просмотр всех переменных объектов в приложении

    Для того чтобы манипулировать структурой данных в приложении, она должна быть сохранена в виде переменной. Вы можете просмотреть существующие переменные, войдя в боковую панель редактора приложений и выбрав символ сигмы рядом с "Переменные" на вкладке "Приложение".

    Объекты будут отображаться с помощью универсального символа объекта "{}".

    Отображение нескольких строк SQL или массивов из HTTP-коннекторов

    Если вы хотите превратить несколько строк SQL-вывода или массивов из HTTP-коннекторов в интерактивные списки в приложении, ознакомьтесь с этим отдельным руководством.

    Дальнейшее чтение


    Вы нашли то, что искали?

    Вы также можете зайти на community.tulip.co, чтобы задать свой вопрос или узнать, сталкивались ли другие с подобным вопросом!


    Была ли эта статья полезной?