logologo
Empezar
Manual
Desarrollo
Plugins
API
Inicio
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Empezar
Manual
Desarrollo
Plugins
API
Inicio
logologo
Flujo de trabajo
Descripción general
Inicio rápido

Disparadores

Descripción general
Evento de colección
Tarea programada
Evento previo a la acción
Evento posterior a la acción
Evento de acción personalizada
Aprobación
Webhook

Nodos

Descripción general

Inteligencia artificial

Gran modelo de lenguaje

Control de flujo

Condición
Bifurcación multicondicional
Bucle
Variables
Bifurcación paralela
Llamar a flujo de trabajo
Salida del flujo
Mapeo de variables JSON
Retraso
Fin

Cálculo

Cálculo
Cálculo de fecha
Cálculo JSON

Operaciones de datos

Crear datos
Actualizar datos
Consultar datos
Eliminar datos
Operación SQL

Procesamiento manual

Procesamiento manual
Aprobación
CC

Tipos extendidos

Solicitud HTTP
Script de JavaScript
Notificación
Envío de correo electrónico
Respuesta
Mensaje de respuesta
Variables
Historial de ejecución
Gestión de versiones
Opciones avanzadas

Desarrollo de extensiones

Descripción general
Extender tipos de disparadores
Extender tipos de nodos
Referencia de la API
Previous PageCálculo de fecha
Next PageCrear datos
Aviso de traducción por IA

Esta documentación ha sido traducida automáticamente por IA.

#Cálculo JSON

Workflow: Cálculo JSONCommunity Edition+

#Introducción

Basándose en diferentes motores de cálculo JSON, este nodo le permite calcular o transformar datos JSON complejos generados por nodos anteriores, para que puedan ser utilizados por nodos posteriores. Por ejemplo, los resultados de operaciones SQL y nodos de solicitud HTTP pueden transformarse a través de este nodo en los valores y formatos de variable necesarios para su uso en nodos posteriores.

#Crear Nodo

En la interfaz de configuración del flujo de trabajo, haga clic en el botón de más ('+') en el proceso para añadir un nodo de 'Cálculo JSON':

Crear Nodo

Nota

Normalmente, el nodo de Cálculo JSON se crea debajo de otros nodos de datos para poder analizarlos.

#Configuración del Nodo

#Motor de Análisis

El nodo de Cálculo JSON admite diferentes sintaxis a través de distintos motores de análisis. Usted puede elegir según sus preferencias y las características de cada motor. Actualmente, se admiten tres motores de análisis:

  • JMESPath
  • JSONPath Plus
  • JSONata

Motor de Análisis

#Fuente de Datos

La fuente de datos puede ser el resultado de un nodo anterior o un objeto de datos en el contexto del flujo de trabajo. Generalmente, es un objeto de datos sin una estructura incorporada, como el resultado de un nodo SQL o un nodo de solicitud HTTP.

Fuente de Datos

Nota

Normalmente, los objetos de datos de los nodos relacionados con la colección ya están estructurados a través de la información de configuración de la colección y generalmente no necesitan ser analizados por el nodo de Cálculo JSON.

#Expresión de Análisis

Expresiones de análisis personalizadas, basadas en los requisitos de análisis y el motor de análisis elegido.

Expresión de Análisis

Nota

Cada motor ofrece diferentes sintaxis de análisis. Para más detalles, consulte la documentación en los enlaces.

A partir de la versión v1.0.0-alpha.15, las expresiones admiten el uso de variables. Las variables se pre-analizan antes de que el motor específico las ejecute, reemplazando las variables con valores de cadena específicos según las reglas de las plantillas de cadena, y concatenándolas con otras cadenas estáticas en la expresión para formar la expresión final. Esta funcionalidad es muy útil cuando necesita construir expresiones dinámicamente, por ejemplo, cuando algún contenido JSON requiere una clave dinámica para su análisis.

#Mapeo de Propiedades

Cuando el resultado del cálculo es un objeto (o un array de objetos), usted puede, a través del mapeo de propiedades, asignar las propiedades necesarias a variables secundarias para su uso en nodos posteriores.

Mapeo de Propiedades

Nota

Para un resultado de objeto (o array de objetos), si no se realiza el mapeo de propiedades, el objeto completo (o array de objetos) se guardará como una única variable en el resultado del nodo, y los valores de las propiedades del objeto no podrán utilizarse directamente como variables.

#Ejemplo

Supongamos que los datos a analizar provienen de un nodo SQL anterior utilizado para consultar datos, y su resultado es un conjunto de datos de pedidos:

[
  {
    "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
      }
    ]
  }
]

Si necesitamos analizar y calcular el precio total de cada uno de los dos pedidos en los datos, y ensamblarlo con el ID de pedido correspondiente en un objeto para actualizar el precio total del pedido, podemos configurarlo de la siguiente manera:

Ejemplo - Configuración de Análisis SQL

  1. Seleccione el motor de análisis JSONata;
  2. Seleccione el resultado del nodo SQL como fuente de datos;
  3. Utilice la expresión JSONata $[0].{"id": id, "total": products.(price * quantity)} para analizar;
  4. Seleccione el mapeo de propiedades para asignar id y total a variables secundarias;

El resultado final del análisis es el siguiente:

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

Luego, itere sobre el array de pedidos resultante para actualizar el precio total de los pedidos.

Actualizar el precio total del pedido correspondiente