JSONPath-Tester
JSONPath Tester
Führt einen JSONPath-Ausdruck gegen ein Dokument aus und hebt die passenden Knoten beim Tippen hervor.
Führt eine JSONPath-Abfrage gegen ein Dokument aus und zeigt jeden ausgewählten Knoten mit dem Pfad zu ihm. Es implementiert RFC 9535 – den Standard von 2024 – und nicht eine der zwanzig Jahre zueinander inkompatibler Implementierungen davor, was zählt, sobald Ihre Abfrage einen Filter enthält.
Abfrage
Von der Wurzel aus: irgendwo darunter, das Member „book“; dann die Kinder, die den Filter bestehen; dann das Member „title“.
Dokument
Treffer
Die Ergebnisse erscheinen hier, während Sie tippen.
Das folgt RFC 9535, dem Standard von 2024, und nicht den zwanzig Jahren inkompatibler Implementierungen davor. Die Unterschiede, die wehtun: Ein Ergebnis ist eine Knotenliste und behält Duplikate, .. besucht einen Knoten vor seinen Kindern, ein fehlender Member ist nur einem anderen fehlenden Member gleich, und der Vergleich mit einer Abfrage, die mehrere Knoten treffen könnte, ist ein Syntaxfehler statt einer Vermutung. Muster in match() und search() gehen an die Regex-Engine des Browsers selbst, die mehr akzeptiert als der I-Regexp-Dialekt, den die RFC vorschreibt.
So funktioniert es
Fügen Sie das Dokument ein
Alles, was als JSON parst. Die Abfrage läuft in einem Worker, sodass ein großes Dokument die Seite reaktionsfähig hält, während Sie tippen.
Schreiben Sie die Abfrage, oder beginnen Sie mit einem Beispiel
Die Schaltflächen unter dem Feld decken die Formen ab, die man braucht: ein Wildcard, eine Nachfahrensuche, ein Slice, ein Filter, ein regulärer Ausdruck und eine Funktion. Eine Beschreibung in Klartext, was Ihre Abfrage bedeutet, erscheint darüber.
Lesen Sie die Treffer mit ihren Pfaden
Jedes Ergebnis trägt den normalisierten Pfad, der zu ihm geführt hat, sodass Sie sehen, ob ein Treffer von dort kam, wo Sie ihn erwartet haben. Die Statistikzeile sagt, ob die Abfrage singulär ist – höchstens einen Knoten auswählen kann –, was ein JSON Pointer wäre.
Häufige Fragen
Meine Abfrage funktioniert in einem anderen Werkzeug, aber nicht hier.
Wahrscheinlich ein Unterschied durch RFC 9535. Der Standard hat Dinge entfernt, die ältere Implementierungen erlaubten: Skriptausdrücke in `()`, `$..[?(@.x)]` mit der älteren geklammerten Filtersyntax und den Vergleich mit einer Abfrage, die mehrere Knoten treffen könnte – Letzteres ist jetzt ein Syntaxfehler statt einer Vermutung.
Warum erscheint derselbe Wert zweimal?
Weil das Ergebnis eine Knotenliste ist, keine Menge. `$..price`, das denselben Knoten über zwei Zweige erreicht, führt ihn zweimal auf, mit Absicht – Deduplizieren würde die Information verlieren, woher jeder Treffer kam.
Sind die regulären Ausdrücke in `match()` standardkonform?
Nicht ganz. Der RFC spezifiziert I-Regexp, einen kleinen Dialekt; die Muster hier werden der Engine Ihres eigenen Browsers übergeben, die mehr akzeptiert. Ein Muster, das hier funktioniert, kann von einer strikten Implementierung abgelehnt werden – gut zu wissen, bevor Sie eines in Produktion nehmen.
Kann es das Dokument verändern?
Nein – JSONPath wählt aus, es schreibt nicht. Zum Bearbeiten sind die hier gezeigten Pfade RFC-6901-Pointer und können direkt in einen JSON Patch übernommen werden, den das JSON-Vergleichswerkzeug auf dieser Website erzeugt.
Eingabe aus
JSON formatieren und validieren
JSON Formatter & Validator
Formatiert, minimiert und validiert JSON und zeigt bei Syntaxfehlern die genaue Zeile und Spalte.
JSON ⇄ XML umwandeln
JSON ⇄ XML
Wandelt zwischen JSON und XML um, mit einstellbarer Behandlung von Attributen, Arrays und Textknoten.
JSON vergleichen
JSON Diff
Vergleicht zwei JSON-Dokumente strukturell, ignoriert die Schlüsselreihenfolge und meldet hinzugefügte, entfernte und geänderte Pfade.
jq-Spielwiese
jq Playground
Führt jq-1.7-Filter im Browser gegen eingefügtes JSON aus, mit Spickzettel, und liefert die passende Kommandozeile.
Danach
Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.
jq-Spielwiese
jq Playground
Führt jq-1.7-Filter im Browser gegen eingefügtes JSON aus, mit Spickzettel, und liefert die passende Kommandozeile.
JSON vergleichen
JSON Diff
Vergleicht zwei JSON-Dokumente strukturell, ignoriert die Schlüsselreihenfolge und meldet hinzugefügte, entfernte und geänderte Pfade.
JSON formatieren und validieren
JSON Formatter & Validator
Formatiert, minimiert und validiert JSON und zeigt bei Syntaxfehlern die genaue Zeile und Spalte.
XPath-Tester
XPath Tester
Wertet einen XPath- oder CSS-Selektor gegen XML oder HTML aus und listet jeden passenden Knoten auf.
JSON ⇄ CSV umwandeln
JSON ⇄ CSV
Flacht verschachteltes JSON zu Spalten ab oder baut Objekte aus einer Tabelle wieder auf, mit Punktpfad-Regel für die Spaltennamen.
JSON in TypeScript
JSON to TypeScript
Leitet aus einem JSON-Beispiel TypeScript-Interfaces oder -Typen ab und führt optionale und Union-Felder zusammen.