Как читать JSON-путь с точечной нумерацией в рабочих процессах

Руководства Okta Workflows — это вопросы и ответы из еженедельных офисных часов сообщества, канала MacAdmins Workflows Slack и других мест.

Читайте все другие руководства ⤵️

Все руководства Okta Workflows How-To Guides

Сотрудники Okta Workflows для Okta Workflows ・ Aug 23 ・ 1 min read

#nocode #okta #рабочие процессы #ipaas

Переходим к вопросу.

Как прочитать путь JSON с точечной нотацией?

Когда вы создаете автоматизацию рабочих процессов, вам, скорее всего, понадобится считывать значения из объекта JSON. Например, из внешней конечной точки API, которая возвращает данные в формате JSON. В Workflows есть две карты, помогающие считывать (извлекать) значения из JSON:

  • Объект — Получить
  • Object — Get Mutliple

Мы будем использовать следующий JSON, чтобы показать, как работают эти карты.

{
   "product": "ice cream",
   "ingredients": {
      "ingredient": [{
         "id": 100,
     "type": "chocolate"
      },
      {
     "id": 200,
     "type": "vanilla"
      },
      {
         "id": 300,
     "type": "caramel"
      }
      ]
   },
   "shop": {
      "inventory": {
         "instock": 100,
     "ordered": 50
      }
   }
}
Вход в полноэкранный режим Выход из полноэкранного режима

Точка-нотация — это путь, который соответствует элементу в JSON.

Например, путь product вернет:

ice cream
Войти в полноэкранный режим Выйти из полноэкранного режима

Использование карты Object — Get для чтения JSON

В рабочих процессах используйте карточку Object — Get для чтения пути JSON:

Тестирование этой карточки:

Давайте рассмотрим другие примеры.

Использование пути ingredients.ingredient.0 приведет к:

{ "id": 100, "type": "chocolate"}
Вход в полноэкранный режим Выход из полноэкранного режима

вот как это выглядит при тестировании с использованием карточки Object — Get:

Следует помнить, что тип вывода должен соответствовать типу JSON. Если путь, который вы ввели, извлекает обычный текст, то тип должен быть Text. Если путь извлекает объект, то тип должен быть установлен на Object (иначе вы получите неправильные результаты).

Используя приведенный выше пример, установив тип вывода Text, вы получите следующее:

Установлен правильный тип вывода:

Этот пример показывает, как получить доступ к массиву с ingredients.ingredient.1.type:

Обратите внимание, что тип вывода установлен на Text, так как вывод является строкой.

Еще один пример, использующий путь shop.inventory, приведет к результату

{
   "instock": 100,
   "ordered": 50
}
Вход в полноэкранный режим Выйти из полноэкранного режима

Обратите внимание, что тип вывода установлен на Object, так как вывод — это объект.

Использование Object — Get Multiple для чтения JSON

Object — Get выводит один путь JSON, Object — Get Multiple работает аналогично и может выводить несколько путей. Вы вводите любое количество путей, которые вам нужны для вывода:

Обратите внимание, что тип вывода устанавливается на самом пути при использовании карты Object — Get Multiple.

JSONPath Online Evaluator — это онлайн-инструмент, с помощью которого вы можете проверить свои пути с точечными обозначениями.

Если вам нужно проверить (и отформатировать) образец JSON, используйте инструмент JSON Lint.


Два ресурса, которые помогут вам узнать больше:

📘 Попробуйте это пошаговое руководство по началу работы: Build Your First Automation With Okta Workflows: Уведомление о приостановке пользователя.

📺 Короткие видеоролики о рабочих процессах, которые помогут вам стать лучшим создателем автоматизации.

Оцените статью
devanswers.ru
Добавить комментарий