logologo
Начало
Руководство
Разработка
Плагины
API
Главная
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Начало
Руководство
Разработка
Плагины
API
Главная
logologo
Рабочий процесс
Обзор
Быстрый старт

Триггеры

Обзор
Событие коллекции
Запланированная задача
Событие до действия
Событие после действия
Событие пользовательского действия
Одобрение
Webhook

Узлы

Обзор

Искусственный интеллект

Большая языковая модель

Управление потоком

Условие
Ветвление по нескольким условиям
Цикл
Переменные
Параллельное ветвление
Вызов рабочего процесса
Вывод потока
Сопоставление переменных JSON
Задержка
Конец

Вычисления

Вычисление
Вычисление даты
Вычисление JSON

Операции с данными

Создание данных
Обновление данных
Запрос данных
Удаление данных
Операция SQL

Ручная обработка

Ручная обработка
Одобрение
Копия (CC)

Расширенные типы

HTTP-запрос
JavaScript-скрипт
Уведомление
Отправка почты
Ответ
Сообщение ответа
Переменные
История выполнения
Управление версиями
Расширенные параметры

Разработка расширений

Обзор
Расширение типов триггеров
Расширение типов узлов
Справочник API
Previous PageВычисление даты
Next PageСоздание данных
Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

#Вычисление JSON

Workflow: JSON-вычисленияCommunity Edition+

#Введение

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

#Создание узла

В интерфейсе настройки рабочего процесса нажмите кнопку «плюс» («+») в схеме процесса, чтобы добавить узел «Вычисление JSON»:"

Создание узла

Подсказка

Обычно узел «Вычисление JSON» создается под другими узлами данных для их обработки.

#Настройка узла

#Движок для обработки

Узел «Вычисление JSON» поддерживает различные синтаксисы благодаря разным движкам для обработки. Вы можете выбрать движок, исходя из своих предпочтений и особенностей каждого. В настоящее время поддерживаются три движка для обработки:

  • JMESPath
  • JSONPath Plus
  • JSONata

Выбор движка

#Источник данных

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

Источник данных

Подсказка

Обычно объекты данных узлов, связанных с коллекциями, уже структурированы с помощью информации о конфигурации коллекции и, как правило, не требуют обработки узлом «Вычисление JSON».

#Выражение для обработки

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

Выражение для обработки

Подсказка

Различные движки предоставляют разный синтаксис для обработки. Подробности можно найти в документации по ссылкам.

Начиная с версии v1.0.0-alpha.15, выражения поддерживают переменные. Переменные предварительно обрабатываются перед выполнением конкретным движком, заменяя их на определенные строковые значения в соответствии с правилами строковых шаблонов, и объединяются с другими статическими строками в выражении для формирования окончательного выражения. Эта функция очень полезна, когда вам нужно динамически строить выражения, например, когда некоторому JSON-содержимому требуется динамический ключ для обработки.

#Сопоставление свойств

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

Сопоставление свойств

Подсказка

Для результата, представляющего собой объект (или массив объектов), если сопоставление свойств не выполняется, весь объект (или массив объектов) будет сохранен как одна переменная в результате узла, и значения свойств объекта не смогут быть использованы напрямую как переменные.

#Пример

Предположим, данные для обработки поступают от предыдущего SQL-узла, используемого для запроса данных, и его результатом является набор данных о заказах:

[
  {
    "id": 1,
    "products": [
      {
        "id": 1,
        "title": "Product 1",
        "price": 100,
        "quantity": 1
      },
      {
        "id": 2,
        "title": "Product 2",
        "price": 120,
        "quantity": 2
      }
    ]
  },
  {
    "id": 2,
    "products": [
      {
        "id": 3,
        "title": "Product 3",
        "price": 130,
        "quantity": 1
      },
      {
        "id": 4,
        "title": "Product 4",
        "price": 140,
        "quantity": 2
      }
    ]
  }
]

Если нам нужно обработать и вычислить общую стоимость двух заказов в данных, а затем собрать ее с соответствующим ID заказа в объект для обновления общей стоимости заказа, мы можем настроить это следующим образом:

Пример — Настройка обработки SQL

  1. Выберите движок для обработки JSONata;
  2. Выберите результат SQL-узла в качестве источника данных;
  3. Используйте выражение JSONata $[0].{"id": id, "total": products.(price * quantity)} для обработки;
  4. Выберите сопоставление свойств, чтобы сопоставить id и total с дочерними переменными;

Окончательный результат обработки выглядит так:

[
  {
    "id": 1,
    "total": 340
  },
  {
    "id": 2,
    "total": 410
  }
]

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

Обновление общей стоимости соответствующего заказа