Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen
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.
I arbetsflödets konfigurationsgränssnitt klickar ni på plusknappen ("+") i processen för att lägga till en "JSON-beräkning"-nod:

Vanligtvis skapas JSON-beräkningsnoden under andra datanoder för att tolka dem.
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:

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.

Vanligtvis är dataobjekten för samlingsrelaterade noder strukturerade via samlingskonfigurationsinformation och behöver i allmänhet inte tolkas av JSON-beräkningsnoden.
Anpassade tolkningsuttryck baserade på tolkningskrav och den valda tolkningsmotorn.

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.
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.

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.
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:
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:

$[0].{"id": id, "total": products.(price * quantity)} för att tolka;id och total till undervariabler;Det slutgiltiga tolkningsresultatet är följande:
Loopa sedan igenom den resulterande orderarrayen för att uppdatera beställningarnas totala pris.
