logologo
Start
Manual
Utveckling
Plugins
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Start
Manual
Utveckling
Plugins
API
logologo
Arbetsflöden
Översikt
Snabbstart

Triggers

Översikt
Datatabellhändelser
Schemalagda jobb
Före-åtgärd-händelser
Efter-åtgärd-händelser
Anpassade åtgärdshändelser
Godkännande
Webhooks

Noder

Översikt

AI

LLM

Flödeskontroll

Villkor
Fler-villkors-gren
Loop
Variabler
Parallell gren
Anropa arbetsflöde
Flödes-output
JSON-variabelmappning
Fördröjning
Avsluta

Beräkning

Beräkning
Datumberäkning
JSON-beräkning

Dataåtgärder

Lägg till data
Uppdatera data
Fråga data
Ta bort data
SQL-åtgärder

Manuell hantering

Manuell hantering
Godkännande
CC

Utökade typer

HTTP-förfrågningar
JavaScript-skript
Notiser
Skicka e-post
Svar
Svarsmeddelande
Variabler
Exekveringshistorik
Versionshantering
Avancerade alternativ

Utökningsutveckling

Översikt
Utöka trigger-typer
Utöka nodtyper
API-referens
Previous PageDatumberäkning
Next PageLägg till data
TIP

Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen

#JSON-beräkning

This feature is provided by the plugin «Arbetsflöde: JSON-beräkning»

#Introduktion

Med hjälp av olika JSON-beräkningsmotorer kan ni beräkna eller transformera komplex JSON-data som genereras av föregående noder, så att de kan användas av efterföljande noder. Till exempel kan resultat från SQL-operationer och HTTP-förfrågningar omvandlas till önskade värden och variabelformat med hjälp av denna nod, för att sedan användas av efterföljande noder.

#Skapa nod

I arbetsflödets konfigurationsgränssnitt klickar ni på plusknappen ("+") i processen för att lägga till en "JSON-beräkning"-nod:

Skapa nod

Tips

Vanligtvis skapas JSON-beräkningsnoden under andra datanoder för att tolka dem.

#Nodkonfiguration

#Tolkningsmotor

JSON-beräkningsnoden stöder olika syntaxer genom olika tolkningsmotorer. Ni kan välja baserat på era preferenser och varje motors funktioner. För närvarande stöds tre tolkningsmotorer:

  • JMESPath
  • JSONPath Plus
  • JSONata

Motorval

#Datakälla

Datakällan kan vara resultatet från en föregående nod eller ett dataobjekt i arbetsflödets kontext. Det är vanligtvis ett dataobjekt utan en inbyggd struktur, till exempel resultatet från en SQL-nod eller en HTTP-förfrågningsnod.

Datakälla

Tips

Vanligtvis är dataobjekten för samlingsrelaterade noder strukturerade via samlingskonfigurationsinformation och behöver i allmänhet inte tolkas av JSON-beräkningsnoden.

#Tolkningsuttryck

Anpassade tolkningsuttryck baserade på tolkningskrav och den valda tolkningsmotorn.

Tolkningsuttryck

Tips

Olika motorer erbjuder olika tolkningssyntaxer. För mer information, se dokumentationen via länkarna.

Från och med version v1.0.0-alpha.15 stöder uttryck variabler. Variabler förhandsgranskas innan den specifika motorn körs, där variablerna ersätts med specifika strängvärden enligt strängmallregler och sammanfogas med andra statiska strängar i uttrycket för att bilda det slutgiltiga uttrycket. Denna funktion är mycket användbar när ni behöver bygga uttryck dynamiskt, till exempel när visst JSON-innehåll kräver en dynamisk nyckel för tolkning.

#Egenskapsmappning

När beräkningsresultatet är ett objekt (eller en array av objekt) kan ni ytterligare mappa de nödvändiga egenskaperna till undervariabler genom egenskapsmappning för användning av efterföljande noder.

Egenskapsmappning

Tips

För ett objekt (eller en array av objekt) som resultat, om ingen egenskapsmappning utförs, kommer hela objektet (eller arrayen av objekt) att sparas som en enda variabel i nodens resultat, och objektets egenskapsvärden kan inte användas direkt som variabler.

#Exempel

Anta att datan som ska tolkas kommer från en föregående SQL-nod som används för att fråga data, och dess resultat är en uppsättning orderdata:

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

Om vi behöver tolka och beräkna det totala priset för de två beställningarna i datan, och sammanställa det med motsvarande order-ID till ett objekt för att uppdatera beställningens totala pris, kan vi konfigurera det enligt följande:

Exempel - Tolka SQL-konfiguration

  1. Välj JSONata-tolkningsmotorn;
  2. Välj resultatet från SQL-noden som datakälla;
  3. Använd JSONata-uttrycket $[0].{"id": id, "total": products.(price * quantity)} för att tolka;
  4. Välj egenskapsmappning för att mappa id och total till undervariabler;

Det slutgiltiga tolkningsresultatet är följande:

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

Loopa sedan igenom den resulterande orderarrayen för att uppdatera beställningarnas totala pris.

Uppdatera motsvarande orders totala pris