XML & JSON

XMLCreateDocument#

Erstellt ein neues XML-Dokument.

<XMLCreateDocument Document="{@myXml}" Version="1.0" Encoding="utf-8" Standalone="yes" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: Variable, in der das neue XML-Dokument erzeugt wird.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLOpenDocument#

Öffnet ein bestehendes XML-Dokument aus einem Dateipfad oder Inhalt.

<XMLOpenDocument Document="{@myXml}" Content="" File="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: Variable, in der das neue XML-Dokument gespeichert wird.
  • Content: Inhalt eines XML-Dokuments als Zeichenkette.
  • File: Pfad zur XML-Datei, die geöffnet werden soll.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLSaveDocument#

Speichert ein XML-Dokument in eine Datei.

<XMLSaveDocument Document="{@myXml}" File="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, das gespeichert werden soll.
  • File: Dateipfad, in den das XML-Dokument gespeichert wird.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLHasElement#

Prüft, ob ein bestimmtes Element in einem XML-Dokument vorhanden ist.

<XMLHasElement Document="{@myXml}" Path="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, das durchsucht wird.
  • Path: XPath-Pfad zum zu prüfenden Element.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLGetElement#

Liest ein Element aus einem XML-Dokument.

<XMLGetElement Document="{@myXml}" Data="" Path="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, aus dem das Element gelesen wird.
  • Data: Variable, in der der Inhalt des Elements gespeichert wird.
  • Path: XPath-Pfad zum Element.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLAddElement#

Fügt ein neues Element zu einem bestehenden XML-Dokument hinzu.

<XMLAddElement Document="{@myXml}" ParentData="" Data="" Name="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, zu dem das neue Element hinzugefügt wird.
  • ParentData: XPath-Pfad oder Element, unter dem das neue Element erstellt wird.
  • Data: Variable, in der das neue Element gespeichert wird.
  • Name: Name des neuen Elements.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLRemoveElement#

Entfernt ein Element aus einem XML-Dokument.

<XMLRemoveElement Document="{@myXml}" Data="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, aus dem das Element entfernt wird.
  • Data: XPath-Pfad zum zu entfernenden Element.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLHasChildElements#

Prüft, ob ein bestimmtes XML-Element untergeordnete Elemente (Child-Elements) enthält.

<XMLHasChildElements Document="{@myXml}" Path="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, das analysiert wird.
  • Path: XPath-Pfad zum zu prüfenden Element.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: Eine Variable, in der gespeichert wird, ob untergeordnete Elemente vorhanden sind. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLHasAttribute#

Prüft, ob ein bestimmtes Attribut in einem XML-Element existiert.

<XMLHasAttribute Document="{@myXml}" Data="" Path="" Attribute="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, das geprüft wird.
  • Data: Variable, die das Element enthält.
  • Path: XPath-Pfad zum Element.
  • Attribute: Name des Attributs, das geprüft werden soll.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: Eine Variable, in der gespeichert wird, ob das gesuchte Attribut vorhanden ist. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLGetAttribute#

Liest den Wert eines Attributs aus einem XML-Element.

<XMLGetAttribute Document="{@myXml}" Data="" Path="" Attribute="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, aus dem das Attribut gelesen wird.
  • Data: Variable, die das Element enthält.
  • Path: (Optional) XPath-Pfad zum gewünschten Element.
  • Attribute: Name des Attributs.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLSetAttribute#

Setzt den Wert eines Attributs in einem XML-Element.

<XMLSetAttribute Document="{@myXml}" Data="" Path="" Attribute="" Value="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, das bearbeitet wird.
  • Data: Variable, die das Element enthält.
  • Path: XPath-Pfad zum Ziel-Element.
  • Attribute: Name des Attributs.
  • Value: Wert, der für das Attribut gesetzt werden soll.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLRemoveAttribute#

Entfernt ein Attribut aus einem XML-Element.

<XMLRemoveAttribute Document="{@myXml}" Data="" Path="" Attribute="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, aus dem das Attribut entfernt wird.
  • Data: Variable, die das Element enthält.
  • Path: XPath-Pfad zum Ziel-Element.
  • Attribute: Name des zu entfernenden Attributs.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLGetDocumentContent#

Liest den gesamten Inhalt eines XML-Dokuments als Zeichenkette.

<XMLGetDocumentContent Document="{@myXml}" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, dessen Inhalt ausgelesen wird.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: Variable, in der der gesamte XML-Inhalt als Zeichenkette gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLGetElementContent#

Liest den Inhalt eines bestimmten XML-Elements.

<XMLGetElementContent Document="{@myXml}" Data="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, dessen Inhalt ausgelesen wird.
  • Data: Variable, die das Ziel-Element enthält.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: Variable, in der der Inhalt des Elements gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLSetElementContent#

Setzt den Inhalt eines XML-Elements.

<XMLSetElementContent Document="{@myXml}" Data="" Content="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: XML-Dokument, in dem das Element bearbeitet wird.
  • Data: Variable, die das Ziel-Element enthält.
  • Content: Neuer Inhalt des Elements.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

XMLContent#

Der Tag XML bietet die Möglichkeit direkt in dem Batchpad-Skript ein XML-Dokument zu hinterlegen. Das Dokument kann anschließend in der Form {@XML:Test} angesprochen werden. Wobei in dem Beispiel die Zeichenfolge "Test" dem Attribut Name entsprechen muss.

<XML Name="">

</XML>

 

JSONPath Syntax Übersicht#

Für die Pfad-Angaben in den folgenden JSON Funktionen kann mit folgender Syntax auf bestimmte Elemente zugegriffen werden.

Beispiel-PfadErklärungErgebnis
items[0]Erstes Element im Array items{"id": "Open"}
items[1].labelFeld label des zweiten Elements"Open New"
items[-1]Letztes Element im Array{"id": "About", "label": "About Adobe CVG Viewer..."}
items[0,3]Mehrere Indizes (erstes und viertes Element)Gibt beide Objekte zurück
items[0:3]Array-Slice (Elemente 0–2)Teilmenge des Arrays
items[*].idAlle id-Werte im Array"Open", "OpenNew", "ZoomIn", ...
items[?(@.id == 'Help')]Filter: Element mit id = Help{"id": "Help"}
items[?(@.label)]Alle Elemente, die ein Feld label besitzenNur Objekte mit label
items[?(@.id =~ /^Copy/)]Regex-Filter: id beginnt mit „Copy“{"id": "Copy"}, {"id": "CopyAgain"}, ...
items[?(@.id == 'OpenNew')].labelDirekt das label von id=OpenNew"Open New"
$Wurzelelement des JSONGesamtes JSON
$.items[0].idAbsolute Pfadangabe ab Wurzel"Open"

Hinweise:

  • . → Zugriff auf Properties (z. B. items[0].id)
  • [*] → Alle Elemente eines Arrays
  • ?() → Filterausdrücke (Bedingungen)
  • =~ → Regulärer Ausdruck
  • $ → Root

 

JSONRead#

Liest einen Wert aus einem JSON-String anhand eines Pfads.

<JSONRead Json="{@myJson}" Path="user/name" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-String oder Variable, die das JSON enthält.
  • Path: Pfad zum gewünschten Wert (z.B. user.name).
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der der ausgelesene Wert gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

Beispiel:

<JSONRead Json="{@myJson}" Path="user/name" Condition="" Variable="{@Result}" IgnoreError="false" />

JSON:
{  "user": { "name": "Max", "age": 30 } } 

Ergebnis {@Result}:
Max

 

JSONCreate#

Erstellt ein leeres JSON-Objekt {}.

<JSONCreate Json="{@myJson}" Condition="" Variable="{@Result}" IgnoreError="false" />

 

JSONUpdate#

Aktualisiert einen Wert im JSON. Der Typ muss angegeben werden.

<JSONUpdate Json="{@myJson}" Path="user/age" Value="31" Type="integer" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-String oder Variable, die das JSON enthält.
  • Path: Pfad zum gewünschten Wert (z.B. user.name).
  • Value: Neuer Wert der gesetzt werden soll.
  • Type: Bestimmt den Datentyp des neuen Werts (string, integer, long, double, decimal, boolean, datetime, object, array).
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der das aktualisierte JSON gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

Beispiel:

<JSONUpdate Json="{@myJson}" Path="user/age" Value="31" Type="integer" Condition="" Variable="{@Result}" IgnoreError="false" />

Vorher:
{"user":{"name":"Max","age":30}} 

Nachher {@Result}: 
{"user":{"name":"Max","age":31}} 

 

JSONDelete#

Löscht ein Element oder Objekt anhand eines Pfads.

<JSONDelete Json="{@myJson}" Path="user/name" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-String oder Variable, die das JSON enthält.
  • Path: Pfad zum gewünschten Wert (z.B. user.name).
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der das aktualisierte JSON gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

Beispiel:

<JSONDelete Json="{@myJson}" Path="user/name" Condition="" Variable="{@Result}" IgnoreError="false" />

Vorher:
{"user":{"name":"Max","age":31}} 

Nachher {@Result}: 
{"user":{"age":31}} 

 

JSONExists#

Prüft, ob ein bestimmter JSON-Pfad existiert.

<JSONExists Json="{@myJson}" Path="user/name" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-String oder Variable, die das JSON enthält.
  • Path: Pfad zum gewünschten Wert (z.B. user.name).
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

JSONType#

Liefert den Datentyp des Wertes aus einem JSON-String anhand eines Pfads.

<JSONType Json="{@myJson}" Path="user/name" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-String oder Variable, die das JSON enthält.
  • Path: Pfad zum gewünschten Wert (z.B. user.name).
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der der ermittelte Datentyp gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

 

JSONSelect#

Extrahiert ein Sub-JSON-Objekt anhand eines Pfads.

<JSONSelect Json="{@myJson}" Path="user" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-String oder Variable, die das JSON enthält.
  • Path: Pfad zum gewünschten Wert (z.B. user).
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der das ermittelte JSON gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

Beispiel:

<JSONSelect Json="{@myJson}" Path="user" Condition="" Variable="{@Result}" IgnoreError="false" />

JSON:
{"user":{"name":"Max","age":31},"status":"active"} 

Ergebnis {@Result}:
{"name":"Max","age":31} 

 

JSONArrayCount#

Zählt die Elemente eines Arrays.

<JSONArrayCount Json="{@myJson}" Path="users" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-String oder Variable, die das JSON enthält.
  • Path: Pfad zum gewünschten Wert (z.B. users).
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der die ermittelte Anzahl gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

Beispiel:

<JSONArrayCount Json="{@myJson}" Path="users" Condition="" Variable="{@Result}" IgnoreError="false" />

JSON:
{"users":[{"name":"Max"},{"name":"Anna"}]} 

Ergebnis {@Result}:
2

 

JSONAddToArray#

Fügt ein Element zu einem Array hinzu.

<JSONAddToArray Json="{@myJson}" Path="users" Value="{\"name\":\"Tom\"}" Type="object" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-String oder Variable, die das JSON enthält.
  • Path: Pfad zum gewünschten Wert (z.B. users).
  • Value: Neuer Wert der gesetzt werden soll.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der das aktualisierte JSON gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

Beispiel:

<JSONAddToArray Json="{@myJson}" Path="users" Value="{\"name\":\"Tom\"}" Type="object" Condition="" Variable="{@Result}" IgnoreError="false" />

Vorher:
{"users":[{"name":"Max"},{"name":"Anna"}]} 

Nachher {@Result}:
{"users":[{"name":"Max"},{"name":"Anna"},{"name":"Tom"}]} 

 

JSONKeys#

Liefert alle Schlüssel eines JSON-Objekts als kommaseparierte Liste.

<JSONKeys Json="{@myJson}" Path="user" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-String oder Variable, die das JSON enthält.
  • Path: Pfad zum gewünschten Wert (z.B. users).
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der die Schlüssel als kommaseparierte Liste gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

Beispiel:

<JSONKeys Json="{@myJson}" Path="user" Condition="" Variable="{@Result}" IgnoreError="false" />

JSON:
{"user":{"name":"Max","age":31,"email":"[email protected]"}} 

Ergebnis {@Result}:
name,age,email

 

JSONMerge#

Fügt ein JSON-Objekt in ein anderes ein. Arrays werden zusammengeführt.

<JSONMerge TargetJson="{@myTargetJson}" SourceJson="{@mySourceJson}" Path="user" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • TargetJson: Ziel JSON-String oder Variable, die das JSON enthält.
  • SourceJson: Quell JSON-String oder Variable, die das JSON enthält.
  • Path: Pfad zum gewünschten Wert (z.B. user).
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der das aktualisierte JSON gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

Beispiel:

<JSONMerge TargetJson="{@myTargetJson}" SourceJson="{@mySourceJson}" Path="user" Condition="" Variable="{@Result}" IgnoreError="false" />

Target JSON:
{"user":{"name":"Max","age":31}} 
Source JSON:
{"user":{"email":"max@example.com"}} 

Ergebnis {@Result}:
{"user":{"name":"Max","age":31,"email":"max@example.com"}} 

 

JSONFormat#

Formatiert JSON schön (Pretty) oder komprimiert (Minify).

<JSONFormat Json="{@myJson}" Mode="Pretty" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-String oder Variable, die das JSON enthält.
  • Mode: Bestimmt die Art der Formatierung (Pretty, Minify).
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der das formatierte JSON gespeichert wird.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.

Beispiel:

<JSONFormat Json="{@myJson}" Mode="Pretty" Condition="" Variable="{@Result}" IgnoreError="false" />

Vorher (kompakt):
{"user":{"name":"Max","age":31}} 

Nachher {@Result} (Pretty):
{  "user": {    "name": "Max",    "age": 31  } } 

 

JSONFlatten#

Gibt alle Felder eines JSON als flache DataTable zurück. Jede Zeile enthält: Path (vollständiger Pfad), Key (Feldname), Value (Wert als String), Type (Datentyp). Nützlich zum Durchiterieren aller Felder im Batch-Backend. Mit Recursiv=true werden verschachtelte Objekte und Arrays vollständig aufgelöst.

<JSONFlatten Json="{@myJson}" Path="" Recursiv="true" Data="{@myData}" DataCount="{@ResultCount}" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-Dokument, das analysiert wird.
  • Path: (Optional) Startpunkt innerhalb des JSON.
  • Recursiv: Ob verschachtelte Objekte und Arrays aufgelöst werden sollen (true oder false, Standardwert: true).
  • Data: Variable, in der die DataTable gespeichert wird.
  • DataCount: (Optional) Variable, die die Anzahl der gefundenen Felder speichert.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Variable, in der gespeichert wird, ob die Aktion erfolgreich ausgeführt wurde (true oder false).
  • IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).

Beispiel:

<JSONFlatten Json="{@myJson}" Recursiv="true" Data="{@myData}" DataCount="{@ResultCount}" />

JSON:
{"user":{"name":"Max","age":31}}

Ergebnis {@myData} (DataTable):
| Path      | Key  | Value | Type    |
|-----------|------|-------|---------|
| user      | user |       | Object  |
| user.name | name | Max   | String  |
| user.age  | age  | 31    | Integer |

Ergebnis {@ResultCount}: 3

 

JSONToDataTable#

Konvertiert ein JSON-Array oder -Objekt in ein DataTable. Typen werden aus dem JSON übernommen (Long, Double, Boolean, DateTime, String). Bei gemischten Objekten werden fehlende Felder mit NULL gefüllt. Verschachtelte Objekte und Arrays werden als kompakter JSON-String in der Zelle gespeichert.

<JSONToDataTable Json="{@myJson}" Path="users" Data="{@myData}" DataCount="{@ResultCount}" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Json: JSON-Dokument, das konvertiert wird.
  • Path: (Optional) Pfad zum Ziel-Array oder -Objekt innerhalb des JSON.
  • Data: Variable, in der die DataTable gespeichert wird.
  • DataCount: (Optional) Variable, die die Anzahl der erstellten Tabellenzeilen speichert.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Variable, in der gespeichert wird, ob die Aktion erfolgreich ausgeführt wurde (true oder false).
  • IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).

Beispiel:

<JSONToDataTable Json="{@myJson}" Path="users" Data="{@myData}" DataCount="{@ResultCount}" />

JSON:
{"users":[{"name":"Max","age":30},{"name":"Anna","age":25}]}

Ergebnis {@myData} (DataTable):
| name | age |
|------|-----|
| Max  | 30  |
| Anna | 25  |

Ergebnis {@ResultCount}: 2

 

JSONFromDataTable#

Konvertiert eine DataTable in ein JSON-Array. Verschachtelte JSON-Strukturen in String-Spalten werden automatisch als JSON-Objekte/Arrays ausgegeben. DateTime-Werte werden als ISO 8601 gespeichert, Byte-Arrays als Base64.

<JSONFromDataTable Data="{@myData}" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Data: DataTable, die konvertiert werden soll.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: Variable, in der das erzeugte JSON gespeichert wird.
  • IgnoreError: (Optional) Gibt an, ob Fehler ignoriert werden sollen (true oder false, Standardwert: false).

Beispiel:

<JSONFromDataTable Data="{@myData}" Variable="{@Result}" />

DataTable:
| name | age |
|------|-----|
| Max  | 30  |
| Anna | 25  |

Ergebnis {@Result}:
[
  { "name": "Max",  "age": 30 },
  { "name": "Anna", "age": 25 }
]

 

JSONConvertToXML#

Wandelt ein JSON-Dokument in ein XML-Dokument um.

<JSONConvertToXML Document="{@myXml}" Json="" Condition="" Variable="{@Result}" IgnoreError="false" />

Attribute:

  • Document: Variable, in der das konvertierte XML-Dokument gespeichert wird.
  • Json: JSON-Inhalt, der umgewandelt werden soll.
  • Condition: (Optional) Steuert die Ausführung der Aktion. Wenn die Bedingung nicht erfüllt ist, wird die Aktion übersprungen.
  • Variable: (Optional) Eine Variable, in der gespeichert wird, ob die Aktion erfolgreich durchgeführt wurde. true oder false.
  • IgnoreError: (Optional) Wenn auf true gesetzt, werden auftretende Fehler ignoriert und die Aktion wird fortgesetzt.