Directual
Menu

Работа с JSON и ссылками

27 марта 2023 г.

Этот урок охватывает несколько практических подходов к обработке данных в формате JSON.

Работа с JSON и ссылками

Шаг 1. Создание нового сценария для обработки новых входящих данных

Сначала вам нужно создать новый сценарий, который будет обрабатывать все новые входящие объекты. Этот сценарий будет работать со структурой Incoming Data и триггером New objects.

Перейдите в раздел сценариев и создайте новый сценарий для обработки новых входящих данных.

Далее настройте общие параметры, назвав сценарий и выбрав нужную целевую структуру данных и триггер. В этом примере сценарий называется Parse Incoming Data. Его целевая структура данных — Incoming Data, а срабатывает он по триггеру New objects.

Далее добавьте контекстную переменную → SysName: user_id, Type - link, Link - App users [WebUser].

Она понадобится вам, чтобы извлечь ID из JSON.

Пример плоского JSON

Шаг 2. Добавление и настройка шага редактирования объекта

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

Теперь настройте шаг редактирования объекта, чтобы записать данные из JSON в контекстную переменную и получить ID. Не забудьте отключить умные поля ввода, чтобы использовать инструмент шаблонов для JSON. Поле с JSON называется Payload – {{payload.id}}.

Существует два разных способа работы с данными в формате JSON, подробнее вы можете узнать в документации.

Шаг 3. Добавление и настройка шага условия

Далее добавьте шаг условия и настройте его для проверки, существует ли уже такой объект с пользователем. И снова не забудьте добавить комментарии.

Идея заключается в том, чтобы перейти к пользователю по ссылке и проверить, заполнен ли его ID. Если он не пуст — значит, такой пользователь уже существует. Если он пуст — объекта не существует, и нам нужно будет его создать. Если объект не существует, мы используем шаг Create Object. Если объект уже существует, мы изменим его поля с помощью шага Edit object. Сценарий останавливается, когда обработаны оба шага.

Шаг 4. Настройка шага редактирования объекта

Далее настройте шаг редактирования объекта. Измените поле First name объекта пользователя, на который ссылается наша контекстная переменная, и запишите в него данные из JSON, используя инструмент шаблонов для извлечения этого поля из JSON. Шаг Edit object позволяет изменять сразу несколько полей. В данном случае мы изменяем поля First name и Last name.

Шаг 5. Настройка шага создания объекта в сценарии

Теперь настроим шаг создания объекта. Создайте объект в структуре WebUser. Вы заранее знаете ID создаваемого объекта, поэтому выберите опцию Set ID manually. Вы получите значение для ID из контекстной переменной. Сохранять его где-либо отдельно не нужно, так как вы уже знаете этот ID. Опция генерации события или её отсутствие влияет на другие сценарии. Например, если вы хотите создать сценарий, который запускается при создании нового объекта, вам нужно будет включить эту опцию.

На второй вкладке вы можете настроить сопоставление полей. Сохраните First name и Last name из нашего JSON во вновь созданный объект.

Шаг 6. Публикация и отладка сценария

Опубликуйте сценарий и запустите его. Он будет реагировать на все новые объекты. Чтобы прогнать через него уже существующий объект, скопируйте ID этого объекта и запустите его через сценарий с помощью меню отладки.

Теперь посмотрите на логи, чтобы убедиться, что всё сработало правильно. Вы также можете посмотреть на счётчики на шагах и увидеть путь объекта. Давайте проверим таблицу App Users. Новый объект с именем и фамилией был успешно создан — это David Watson.

В развёрнутой карточке объекта вы можете увидеть все версии этого объекта, а также ссылки на сценарий или endpoint, который изменил/создал объект. В данном случае вы видите сценарий и шаг Create object.

FAQ

Что такое JSON?

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

Что такое JavaScript?

JavaScript, часто сокращаемый как JS, — это язык программирования, являющийся одной из основных технологий Всемирной паутины.

Что такое сценарии в Directual?

Сценарии Directual представляют собой бэкенд-логику приложения. Это рабочие процессы для всех данных в приложении. Сценарии можно использовать для описания и автоматизации любой backend-логики приложения. Сценарии работают с абстрактными фрагментами данных или объектами, не имеющими прямой связи с конкретными бизнес-целями.
Евгений Доронин
Копирайтер в Directual
← Назад к списку