Skip to content

JSON-transformation

JSON-transformation-åtgärden låter dig omforma och transformera JSON-data med en mallbaserad syntax. Den använder JUST-biblioteket (JSON Under Simple Transformation) med en uppsättning inbyggda funktioner för att arbeta med jobb, artefakter, datum, strängar och mer.

När du ska använda detta

  • Du behöver mappa data från en JSON-struktur till en annan
  • Du vill omvandla API-svar till ett format som nästa åtgärd förväntar sig
  • Du behöver berika eller filtrera JSON-data som en del av ett jobbarbetsflöde

Hur det fungerar

Du skriver en transformeringsmall som definierar utdatastrukturen. I mallen använder du uttryck för att referera till och transformera värden från indata-JSON. Mallen bearbetas mot utdata från föregående åtgärd.

För fullständig JUST-transformeringssyntax, se JUST-dokumentationen.

Anpassade funktioner

Utöver standard JUST-syntax finns följande anpassade funktioner tillgängliga i transformeringsmallar.

Jobbhantering

FunktionBeskrivning
RunJob(jobGuid, jobRunGuid, input, inputFiles, variables, verbose, waitForCompletion, name)Kör ett annat jobb
MakeHttpRequest(url, token, method, headers, body, contentType, numberOfRetries, responseErrorText)Skicka ett HTTP-anrop
GetInput(jobRunGuid, position)Hämta utdata från en specifik åtgärd via position
UpdateJobParameter(jobGuid, parameterName, value)Uppdatera en jobbparameter
ReadJobParameter(jobGuid, parameterName)Läs värdet av en jobbparameter
UpdateJobRunVariable(jobRunGuid, variableName, value)Sätt eller uppdatera en jobbkörningsvariabel
ReadJobRunVariable(jobRunGuid, variableName)Läs en jobbkörningsvariabel

JSON och datamanipulering

FunktionBeskrivning
ParseJson(json)Tolka en JSON-sträng till ett objekt
GetParsedJsonValue(json, property)Hämta en specifik egenskap från tolkad JSON
AddOrReplaceJsonArray(arr1, arr2, key)Slå samman två arrayer via ett nyckelfält
SortJsonArray(array, sortField, sortOrder)Sortera en array efter ett fält
ConvertToString(obj, sourceFormat)Konvertera ett objekt till sträng
ConvertToJson(input, sourceFormat, ...)Konvertera från olika format till JSON
ConvertToXml(input, sourceFormat, rootName, ...)Konvertera data till XML
ConvertFromExcel(jobRunGuid, artifactName, targetFormat)Konvertera en Excel-artefakt

Strängoperationer

FunktionBeskrivning
Replace(term, replaceTerm, replacementTerm)Ersätt text i en sträng
Split(term, splitCharacter, position)Dela en sträng och returnera delen vid position
SplitToArray(term, splitCharacter)Dela en sträng till en array
FlattenArray(arr, separator)Sammanfoga arrayelement till en sträng
FlattenJsonArray(arr, valueNames, valueSeparator, separator)Platta ut en array av objekt till en sträng
ToLowerCase(value)Konvertera till gemener
ToUpperCase(value)Konvertera till versaler
Capitalize(str)Inled varje ord med versal
EncodeHtml(term)HTML-koda en sträng
DecodeHtml(term)HTML-avkoda en sträng
EncodeUrl(term)URL-koda en sträng
DecodeUrl(term)URL-avkoda en sträng
EncodeToBase64String(str)Base64-koda en sträng
DecodeFromBase64String(str)Base64-avkoda en sträng
GetStringHash(value)Hämta SHA256-hash av en sträng
ClearTextFormatting(text)Ta bort HTML-taggar från text
ConstantSlash()Returnerar /

Datum och tid

FunktionBeskrivning
ConvertToDate(date)Tolka en sträng till ett datum
ConvertDateToTicks(date)Konvertera ett datum till ticks
ConvertDateFormat(date, format)Formatera ett datum med ett anpassat mönster
ConvertTimeFromUtc(date, timezoneId)Konvertera från UTC till en specifik tidszon
ConvertTimeToUtc(date, timezoneId)Konvertera från en tidszon till UTC
AddToDate(date, days, hours, minutes, seconds)Lägg till tid på ett datum
CompareDates(date1, date2)Jämför två datum
GetFirstDateOfWeek(date)Hämta måndagen i datumets vecka
GetLastDateOfWeek(date)Hämta söndagen i datumets vecka
GetFirstDateOfMonth(date)Hämta första dagen i månaden
GetLastDateOfMonth(date)Hämta sista dagen i månaden
GetDatePart(date, datePart)Extrahera en del: year, month, day, dayofweek, week, hour, minute, second
GetDateDiff(startDate, endDate, diffType)Hämta skillnaden i days, hours, minutes, seconds eller ticks

Artefakter

FunktionBeskrivning
GetArtifact(jobRunGuid, artifactName)Hämta metadata för en artefakt
GetArtifactContent(jobRunGuid, artifactName)Hämta innehållet i en artefakt
SaveArtifact(jobRunGuid, artifactName, content, contentType)Spara innehåll som en artefakt
DeleteArtifact(jobRunGuid, artifactName)Ta bort en artefakt
UploadArtifact(jobRunGuid, url, token, artifactName, useMultipart)Ladda upp en artefakt till en extern URL
DownloadArtifact(jobRunGuid, url, token, artifactName)Ladda ner en fil och spara som artefakt
ExtractArtifact(jobRunGuid, artifactName, password)Extrahera ett ZIP- eller krypterat arkiv

PDF och QR-koder

FunktionBeskrivning
GeneratePdf(jobRunGuid, html, artifactName)Generera en PDF från HTML-innehåll
ExtractPdfPages(jobRunGuid, extractType, artifactName, searchTerm, ...)Extrahera innehåll från en PDF
GenerateQrCode(jobRunGuid, content, pixelsPerModule, drawQuietZones, artifactName)Generera en QR-kodbild

Kryptering

FunktionBeskrivning
Encrypt(salt, str, encryption)Kryptera med HMACSHA256, SHA512 eller SHA256
GetClientAssertion(pem, aud, iss, sub, scope)Generera en JWT-klientassertion
MathModulus(a, b)Modulooperation

Kontrollflöde

FunktionBeskrivning
Not(condition)Booleskt NOT
RaiseError(errorMessage)Stoppa jobbet med ett fel

Tips

TIPS

Använd ReadJobRunVariable och UpdateJobRunVariable för att dela tillstånd mellan åtgärder. Variabler finns kvar under hela jobbkörningen.

TIPS

Använd GetInput med ett positionsnummer för att referera till utdata från vilken tidigare åtgärd som helst, inte bara den föregående.

Vanliga misstag

VARNING

Anpassade funktioner i JSON-transformation har inget _-prefix. Använd RunJob(...) direkt, inte _RunJob(...). Understrecks-prefixet gäller bara JavaScript-åtgärden.

VARNING

Parametern jobRunGuid krävs för många funktioner (artefakter, variabler, indata). Se till att den finns tillgänglig i din transformeringskontext.