onlinetools.dev

JSONPath-Tester

JSON mit JSONPath-Ausdrücken abfragen und jeden Treffer mit Pfad sehen

Läuft lokal
loading…
Über dieses Tool

Teste JSONPath-Ausdrücke gegen dein eigenes JSON und sieh jeden Treffer mit Wert und konkretem Pfad. Unterstützt wird die Syntax für den Alltagsgebrauch: Punkt- und Klammernotation, Array-Indizes (auch negative), Wildcards, Unions (['a','b']) und rekursiver Abstieg ($..price).

Die Pfadausgabe pro Treffer ist der stille Star: Frage $..id gegen ein tiefes Dokument ab, und jedes Ergebnis sagt dir exakt, wo es liegt ($.data.items[3].id), bereit zum Einfügen in Code. Aus „irgendwo in diesem Blob“ wird eine exakte Adresse.

Filterausdrücke ([?(@.price < 10)]) sind noch nicht implementiert — das Tool sagt das ausdrücklich, statt falsche Ergebnisse zu liefern. Für strukturelle Extraktion, den Großteil der JSONPath-Nutzung, funktioniert alles.

Häufige Fragen

Was ist der Unterschied zwischen $.a.b und $..b?
$.a.b folgt genau einer Route: Key a an der Wurzel, dann Key b darin. $..b (rekursiver Abstieg) findet jedes b irgendwo im Dokument, in beliebiger Tiefe. Rekursiver Abstieg ist mächtig, kann aber überraschen — er matcht auch b-Keys in Dingen, an die du nicht gedacht hast.
Wie greife ich auf Keys mit Leerzeichen oder Bindestrichen zu?
Klammernotation mit Anführungszeichen: $['my key'] oder $.data['content-type']. Die Punktnotation funktioniert nur für Keys, die gültige bezeichnerartige Namen sind.
Funktionieren negative Array-Indizes?
Ja — [-1] ist das letzte Element, [-2] das vorletzte, nach der von Python popularisierten und von RFC 9535 übernommenen Konvention. [0] bleibt das erste Element.
Ist JSONPath standardisiert?
Seit 2024 ja — RFC 9535 definiert Syntax und Semantik. Davor geschriebene Implementierungen unterscheiden sich in Randfällen (besonders bei Filtern und Unions) — derselbe Ausdruck kann sich also je nach Library anders verhalten; teste gegen die Implementierung, mit der du deployst.
Verwandte Tools