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