JSONPath Query v.2
- 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.
$.userIdoder$.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:
| Parametername | JSONPath Expression | Ergebnis (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"
}
}