logologo
Start
Handleiding
Ontwikkeling
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
Handleiding
Ontwikkeling
Plugins
API
logologo
Workflow
Overzicht
Snelstart

Triggers

Overzicht
Tabel-events
Geplande taken
Pre-actie-event
Post-actie-event
Aangepast actie-event
Goedkeuring
Webhook

Node

Overzicht

Artificiële intelligentie

Groot taalmodel (LLM)

Procesbesturing

Voorwaarde
Meervoudige voorwaardelijke vertakking
Lus
Variabelen
Parallelle vertakking
Workflow aanroepen
Procesoutput
JSON-variabelemapping
Vertraging
Einde

Berekening

Berekening
Datumberekening
JSON-berekening

Gegevensoperaties

Gegevens toevoegen
Gegevens bijwerken
Gegevens opvragen
Gegevens verwijderen
SQL-operatie

Handmatige verwerking

Handmatige verwerking
Goedkeuring
CC

Types uitbreiden

HTTP-request
JavaScript-script
Notificatie
E-mail verzenden
Respons
Responsbericht
Variabelen
Uitvoeringslogboek
Versiebeheer
Geavanceerde opties

Extensie-ontwikkeling

Overzicht
Triggertypes uitbreiden
Nodetype uitbreiden
API-referentie
Previous PageDatumberekening
Next PageGegevens toevoegen
TIP

Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie

#JSON Berekening

This feature is provided by the plugin «Workflow: JSON-berekening»

#Introductie

Gebaseerd op verschillende JSON-berekeningsengines, kunt u met dit knooppunt complexe JSON-gegevens, die door eerdere (upstream) knooppunten zijn gegenereerd, berekenen of de structuur ervan transformeren, zodat volgende knooppunten deze kunnen gebruiken. Denk bijvoorbeeld aan de resultaten van SQL-bewerkingen en HTTP-verzoeken; met dit knooppunt kunt u deze omzetten in de gewenste waarden en variabele formaten, zodat ze bruikbaar zijn voor de daaropvolgende knooppunten.

#Knooppunt aanmaken

In de configuratie-interface van de workflow klikt u op de plusknop ('+') in het proces om een 'JSON Berekening'-knooppunt toe te voegen:

Knooppunt aanmaken

Tip

Meestal plaatst u het JSON Berekening-knooppunt onder andere gegevensknooppunten om de gegevens daaruit te kunnen parseren.

#Knooppuntconfiguratie

#Parseringsengine

Het JSON Berekening-knooppunt ondersteunt verschillende syntaxes via diverse parseringsengines. U kunt een keuze maken op basis van uw voorkeur en de specifieke kenmerken van elke engine. Momenteel worden drie parseringsengines ondersteund:

  • JMESPath
  • JSONPath Plus
  • JSONata

Enginekeuze

#Gegevensbron

De gegevensbron kan het resultaat zijn van een eerder knooppunt of een gegevensobject in de workflow-context. Meestal is dit een gegevensobject zonder ingebouwde structuur, zoals het resultaat van een SQL-knooppunt of een HTTP-verzoekknooppunt.

Gegevensbron

Tip

Doorgaans zijn de gegevensobjecten van collectie-gerelateerde knooppunten al gestructureerd via de collectie-configuratie-informatie en hoeven deze over het algemeen niet te worden geparseerd door het JSON Berekening-knooppunt.

#Parseringsuitdrukking

Afhankelijk van de parseringsbehoeften en de gekozen parseringsengine, definieert u hier uw aangepaste parseeruitdrukking.

Parseeruitdrukking

Tip

Verschillende engines bieden verschillende parseringssyntaxes. Voor details kunt u de documentatie via de links raadplegen.

Vanaf versie v1.0.0-alpha.15 ondersteunen uitdrukkingen het gebruik van variabelen. Variabelen worden vooraf geparseerd voordat de specifieke engine wordt uitgevoerd, waarbij ze volgens de regels van stringtemplates worden vervangen door specifieke stringwaarden. Deze worden vervolgens samengevoegd met andere statische strings in de uitdrukking om de uiteindelijke uitdrukking te vormen. Deze functionaliteit is erg handig wanneer u uitdrukkingen dynamisch moet opbouwen, bijvoorbeeld wanneer bepaalde JSON-inhoud een dynamische sleutel vereist voor parsing.

#Eigenschapsmapping

Wanneer het berekeningsresultaat een object (of een array van objecten) is, kunt u via eigenschapsmapping de benodigde eigenschappen verder toewijzen aan subvariabelen, zodat deze door volgende knooppunten kunnen worden gebruikt.

Eigenschapsmapping

Tip

Voor een object (of een array van objecten) als resultaat geldt: als er geen eigenschapsmapping wordt uitgevoerd, wordt het hele object (of de array van objecten) als één variabele opgeslagen in het resultaat van het knooppunt. De eigenschapswaarden van het object kunnen dan niet direct als afzonderlijke variabelen worden gebruikt.

#Voorbeeld

Stel dat de te parseren gegevens afkomstig zijn van een voorafgaand SQL-knooppunt dat wordt gebruikt om gegevens op te vragen, en het resultaat is een set ordergegevens:

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

Als we de totale prijs van de twee orders in de gegevens willen parseren en berekenen, en deze samen met de corresponderende order-ID's willen samenvoegen tot objecten om de totale orderprijs bij te werken, dan kunt u dit als volgt configureren:

Voorbeeld - SQL-configuratie parseren

  1. Selecteer de JSONata parseringsengine;
  2. Selecteer het resultaat van het SQL-knooppunt als de gegevensbron;
  3. Gebruik de JSONata-uitdrukking $[0].{"id": id, "total": products.(price * quantity)} om te parseren;
  4. Selecteer eigenschapsmapping om id en total toe te wijzen aan subvariabelen;

Het uiteindelijke parseringsresultaat is als volgt:

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

Vervolgens doorloopt u de resulterende orderarray om de totale prijs van de orders bij te werken.

Totale prijs van de corresponderende order bijwerken