Json Path Parser
Json Path Parser
Die Komponente Json Path Parser transformiert mehrstufige JSON-Strukturen konfigurationsbasiert in ein prozessinternes Tabellenformat.
Für jede definierte Kombination aus Wurzelelement, JsonPath-Selektion und Elementeigenschaften wird eine eigenständige Datentabelle erzeugt.
Konfigurationsparameter
| Feld | Beschreibung |
|---|---|
| Quelle | Die Quelle bestimmt, auf welchen Daten die Komponente ihre Operationen ausführt. |
| JsonPath Definitionen | Konfigurationsbereich zur Definition der Tabellenstruktur basierend auf JsonPath-Ausdrücken. |
Struktur der JsonPath Definitionen
| Attribut | Beschreibung |
|---|---|
| Wurzelelement | Bestimmt den Namen der neu angelegten Datentabelle im Prozesskontext. |
| JsonPath Selektion | Definiert den JsonPath-Ausdruck. Jeder Treffer erzeugt eine neue Tabellenzeile. |
| Elementeigenschaft | Definiert die Spalten der Tabelle. Für jede Elementeigenschaft wird eine neue Spalte angelegt. Der Wert kann aus einer JsonPath-Abfrage stammen oder als konstanter Wert gesetzt werden. |
| Automapping | Übernimmt automatisch alle Werte des selektierten JSON-Knotens in die Tabelle. Hierzu müssen mindestens der JsonPath-Selektor (oberster zu berücksichtigender Knoten) und das Wurzelelement definiert sein. |
Verarbeitung
- Die Komponente liest die definierte Quelle.
- Die JSON-Struktur wird syntaktisch analysiert.
- Für jede konfigurierte JsonPath Selektion werden passende Knoten ermittelt.
- Jeder Treffer erzeugt eine neue Tabellenzeile.
- Definierte Elementeigenschaften werden als Spaltenwerte gesetzt.
- Optional werden alle Werte eines Knotens über Automapping übernommen.
- Für jede JsonPath-Definition wird eine eigenständige Datentabelle im Prozesskontext erzeugt.
Beispiel: Mehrstufiges JSON
Nachfolgend ein vereinfachtes Beispiel für eine mehrstufige JSON-Struktur mit einem Wurzelelement Daten und drei Unterelementen.
{
"Daten": {
"Auftrag": {
"Auftragsnummer": "A-10001",
"ErstelltAm": "2026-02-18",
"Status": "InBearbeitung"
},
"Kunde": {
"Kundennummer": "K-4711",
"Vorname": "Max",
"Nachname": "Mustermann",
"Adresse": {
"Strasse": "Musterstraße 1",
"PLZ": "12345",
"Ort": "Musterstadt"
}
},
"Positionen": [
{
"Positionsnummer": 1,
"Artikelnummer": "ART-01",
"Menge": 2,
"Preis": 49.90
},
{
"Positionsnummer": 2,
"Artikelnummer": "ART-02",
"Menge": 1,
"Preis": 19.90
}
]
}
}Beispielkonfiguration – Automapping auf Wurzelelement
Wird in der Konfiguration als JsonPath Selektion der oberste Knoten Daten definiert und als Wurzelelement der Name Ergebnis angegeben, erzeugt die Komponente ein neues DataItem mit dem Namen Ergebnis.
Da es sich hierbei um ein Automapping des selektierten Knotens handelt, werden sämtliche enthaltenen Felder in eine Key-Value-Struktur überführt.
Konfigurationsbeispiel
| Attribut | Wert |
|---|---|
| JsonPath Selektion | Daten |
| Wurzelelement | Ergebnis |
| Automapping | aktiviert |
Ergebnisstruktur im Prozesskontext
Die Komponente legt ein DataItem mit folgendem logischen Aufbau an:
DataItem: Ergebnis
Beispielhafte Key-Value-Zuordnungen:
- Auftrag.Auftragsnummer = A-10001
- Auftrag.ErstelltAm = 2026-02-18
- Auftrag.Status = InBearbeitung
- Kunde.Kundennummer = K-4711
- Kunde.Vorname = Max
- Kunde.Nachname = Mustermann
- Kunde.Adresse.Strasse = Musterstraße 1
- Kunde.Adresse.PLZ = 12345
- Kunde.Adresse.Ort = Musterstadt
Technisches Verhalten
- Der selektierte JSON-Knoten
Datenwird vollständig gelesen.- Verschachtelte Objekte werden über Punktnotation in flache Schlüssel überführt.
- Arrays werden je nach Implementierung indexbasiert aufgelöst, z. B.
Positionen.Artikelnummer.- Jeder ermittelte Wert wird als eigenständiger Key-Value-Eintrag im DataItem gespeichert.
- Das ursprüngliche JSON bleibt unverändert im Quellobjekt bestehen.
Auf diese Weise wird ein mehrstufiges JSON in eine prozessinterne, flache Datenstruktur transformiert, die für nachgelagerte Filter-, Validierungs- oder Mapping-Komponenten geeignet ist.