Zum Hauptinhalt springen

JSONPath Query v.2

Aktuelle Konfiguration des Tasks JSONPath Query v.2 im Workflow Designer
  • Aufgabentyp: jsonpath-query_v2

Beschreibung

Die Aufgabe "JSONPath Query v.2" ermöglicht die Abfrage eines JSON-Datensatzes und das gleichzeitige Extrahieren mehrerer Werte mithilfe der JSONPath-Syntax. Jede Extraktion wird einem benutzerdefinierten Parametername zugeordnet, wodurch die Daten für nachfolgende Aufgaben im Workflow sofort verfügbar sind.

Konfigurationsparameter

  • Quell-JSON: Der JSON-Inhalt, auf den die Abfrage ausgeführt wird. In der Regel wird ein dynamischer Parameter aus einer vorhergehenden Aufgabe verwendet (z. B. #>Chiamata REST.response<#).
  • Ausdrücke (Queries): In diesem Abschnitt können eine oder mehrere Abfragen definiert werden. Für jede Zeile:
  • Parametername: Der Name, der dem Ausgabe-Parameter zugewiesen wird (z. B. userId).
  • JSONPath Expression: Die Syntax zum Extrahieren des Datenwerts (z. B. $.userId oder $.items[*].id).

Hinweis: Gibt die Abfrage mehrere Ergebnisse zurück, enthält der Parameter ein Array von Werten.

Praktische Beispiele für JSONPath Query

Betrachten Sie den folgenden JSON-Datensatz als Quelle:

{
"users": [
{
"id": 1,
"name": "Luca",
"age": 25,
"city": "Roma",
"orders": [
{
"id": 101,
"total": 50
},
{
"id": 102,
"total": 120
}
]
},
{
"id": 2,
"name": "Giulia",
"age": 30,
"city": "Milano",
"orders": [
{
"id": 103,
"total": 200
}
]
},
{
"id": 3,
"name": "Marco",
"age": 22,
"city": "Roma",
"orders": [
{
"id": 104,
"total": 80
},
{
"id": 105,
"total": 40
}
]
}
]
}

Unter Verwendung des Benutzerdatensatzes als Quelle sehen Sie, wie Sie die Ausdrücke konfigurieren, um spezifische Daten zu extrahieren:

ParameternameJSONPath ExpressionErgebnis (Output)Beschreibung
all_names$.users[*].name["Luca", "Giulia", "Marco"]Extrahiert alle Namen im Array.
first_name$.users[0].name"Luca"Extrahiert den Namen des ersten Elements (Index 0).
name_by_id$.users[?(@.id == 2)].name"Giulia"Filtert das Array und gibt den Namen des Benutzers mit ID gleich 2 zurück.

Konfiguration in der Aufgabe

Im Tab Konfiguration werden die Ausdrücke wie folgt zugeordnet:

"expressions": {
"all_names": "$.users[*].name",
"first_name": "$.users[0].name",
"name_by_id": "$.users[?(@.id == 2)].name"
}

Ausgabe-Parameter

Die Aufgabe generiert dynamisch Parameter basierend auf den in der Tabelle "Ausdrücke" definierten Namen, zusätzlich zu den Standard-Steuerparametern:

  • [Benutzerdefinierter Name]: Gibt den Wert (oder das Array von Werten) zurück, der aus der zugehörigen JSONPath-Abfrage extrahiert wurde (z. B. title, userId).
  • result: Eine informative Nachricht über den Erfolg der Extraktion (z. B.: Ausdrücke erfolgreich extrahiert).
  • exitStatus: Der Statuscode der Operation (0 gibt Erfolg an).
  • resultJson: Stellt das vollständige Ergebnis der Aufgaben-Ausführung im JSON-Format dar.

Beispiel resultJson

{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}