Zum Hauptinhalt springen

JSONPath-Abfrage

Aktuelle Konfiguration des Tasks JSONPath Query im Workflow Designer

Die Aufgabe JSONPath-Abfrage ermöglicht es, Abfragen auf JSON-Daten mithilfe von JSONPath-Ausdrücken auszuführen. Dies ist nützlich, um spezifische Informationen aus komplexen JSON-Strukturen zu extrahieren.

Definition einer JSONPath-Abfrage

Eine JSONPath-Abfrage ist ein Ausdruck, der es ermöglicht, Daten aus einer JSON-Struktur zu lokalisieren und zu extrahieren, indem durch ihre Elemente hierarchisch navigiert wird. Sie verwendet eine Syntax, die der Dateipfad-Syntax ähnelt, um auf Eigenschaften, verschachtelte Objekte und Arrays zu verweisen, und ermöglicht so die Auswahl spezifischer Werte, Sammlungen von Elementen oder strukturierter Teile des JSON-Dokuments.

Konfiguration

JSON: Das eingehende JSON, das direkt als Text oder über einen dynamischen Parameter (z. B. die Ausgabe DataExportJson der Aufgabe Datenbank) und nicht als Dateipfad, sondern als direkter JSON-Inhalt bereitgestellt wird.

Beispiel JSONPath-Ausdruck:

$.value[?(@.name=='wmr')].type

Struktur der Abfrage

  • $: Stellt die Wurzel des JSON-Dokuments dar.
  • .value: Wählt das Element value direkt unter der Wurzel.
  • [?(@.name=='wmr')]: Filtert die Elemente des Arrays value, um nur diejenigen einzuschließen, bei denen das Attribut name gleich 'wmr' ist.
  • .type: Wählt das Attribut type der gefilterten Elemente.

Beispiel-JSON-Dokument

Angenommen, wir haben das folgende JSON-Dokument:

{
"value": [
{
"name": "wmr",
"type": "exampleType1"
},
{
"name": "otherName",
"type": "exampleType2"
}
]
}

Ergebnis der Abfrage

Die Abfrage $.value[?(@.name=='wmr')].type wählt den Wert des Attributs type für das Element, bei dem name gleich 'wmr' ist. In unserem Beispiel ist das Ergebnis:

[
"exampleType1"
]

Ausgabe-Parameter

Nach Abschluss der Ausführung stehen die folgenden Ausgabe-Parameter zur Verfügung, die als Eingabe in nachfolgende Aufgaben des Workflows verwendet werden können.

  • result: Dieser Parameter kann eine Fehlermeldung oder das Ergebnis der Abfrage enthalten.
  • resultJson: Stellt das Ergebnis der Aufgaben-Ausführung im JSON-Format dar und enthält allgemeine Informationen, Konfigurationen und Details zur Ausführung.