JSONPath-Tester
Fügen Sie ein JSON-Dokument ein und geben Sie einen JSONPath-Ausdruck wie $..book[?(@.price<10)] ein. Der Tester bewertet ihn gegen das Dokument und zeigt jeden passenden Wert mit dem genauen Pfad jedes Treffers an. Nützlich zur Validierung der Abfrage, die Sie in ein Skript oder eine API-Spezifikation (Postman, k6, JMeter sprechen alle JSONPath) einfügen möchten.
So testen Sie einen JSONPath-Ausdruck
-
1
Fügen Sie das JSON-Dokument ein
Jedes gültige JSON, Objekt, Array, tief verschachtelt.
-
2
Geben Sie den Ausdruck ein
Beginnen Sie mit `$` für die Wurzel. Verwenden Sie `.` für Kinder, `..` für rekursiven Abstieg, `[*]` für Wildcards.
-
3
Sehen Sie die Übereinstimmungen live
Jede Übereinstimmung wird mit ihrem Wert und dem vollständigen JSONPath angezeigt, hervorgehoben im ursprünglichen Dokument.
-
4
Kopieren Sie die Ergebnisse
Kopieren Sie Übereinstimmungen als JSON-Array oder kopieren Sie jeden einzelnen Pfad zur Verwendung in nachgelagertem Code.
JSONPath-Syntaxreferenz
| Ausdruck | Bedeutung |
|---|---|
$ |
Wurzelelement |
$.store |
Kind von $ mit dem Namen store |
$["store"] |
Dasselbe, in Klammerform |
$..author |
Alle author-Eigenschaften in beliebiger Tiefe |
$.store.book[*] |
Jedes Buch im Geschäft |
$.store.book[0] |
Erstes Buch |
$.store.book[-1:] |
Letztes Buch |
$.store.book[0:2] |
Die ersten zwei Bücher (Slicing) |
$.store.book[?(@.isbn)] |
Bücher mit einer isbn-Eigenschaft |
$.store.book[?(@.price < 10)] |
Bücher günstiger als 10 |
$.store.book[?(@.category == "fiction")] |
Belletristik-Bücher |
$..* |
Jeder Wert, überall |
Filterausdrücke
Filterausdrücke verwenden @, um auf den aktuellen Knoten zu verweisen. Der Tester unterstützt die gängigen Operatoren ==, !=, <, >, <=, >=, &&, || und Regex =~.
$.items[?(@.qty >= 10 && @.price < 50)]
JSONPath-Dialekte
Es gibt mehrere JSONPath-Implementierungen mit kleinen Inkompatibilitäten. Dieser Tester folgt der Goessner-Originalspezifikation und den RFC 9535-Verfeinerungen, die kompatibel sind mit:
- Jayway JsonPath (Java)
- jsonpath-plus (JavaScript)
- jsonpath-rw (Python)
- jq grundlegende Pfadausdrücke
Inkompatible Funktionen (wie Skriptausdrücke mit beliebigem JS) werden im Fehlerpanel angezeigt.
Wann JSONPath einen vollständigen Parser übertrifft
- Testbehauptungen: Postman’s
pm.expect(jsonData).to.have.jsonPath(...)benötigt einen Pfad. - Konfigurationsextraktion: Ziehen Sie einen Wert aus einer riesigen API-Antwort ohne eine Bibliothek.
- Lasttest-Skripte: k6, JMeter und Gatling unterstützen alle JSONPath für Überprüfungen.
- Kubernetes / AWS CLI:
--queryund--jsonpath-Flags ermöglichen es Ihnen, die Ausgabe von der Befehlszeile zu gestalten.
Häufige Fehler
- Verwendung von
.bei einem Array.$.users.0.nameist falsch; verwenden Sie$.users[0].name. - Vergessen von
..für Tiefe. Ein Pfad wie$.nameentspricht nur dem oberstenname; verwenden Sie$..namefür alle. - Verwechslung von JSONPath mit jq. jq ist ein Superset mit Kontrollfluss und Transformationen; JSONPath dient ausschließlich der Extraktion.
- Regex-Verankerung.
=~ /foo/entspricht Teilstrings; verwenden Sie/^foo$/für exaktes Verhalten.
Häufig gestellte Fragen
JSONPath ist eine reine Extraktionssprache, auswählen, filtern, schneiden. jq ist eine vollständige Abfrage-/Transformationssprache mit Kontrollfluss, Variablen und Funktionen. Für einfache Extraktionen ist JSONPath portabler; für Transformationen verwenden Sie jq.
Die Goessner-Originalspezifikation plus die RFC 9535-Verfeinerungen, die mit Jayway JsonPath (Java) und jsonpath-plus (Node) übereinstimmen. Dialektspezifische Erweiterungen (Skriptausdrücke mit beliebigem Code) werden nicht unterstützt.
Ja. $..book[?(@.title =~ /^Harry.*/)] entspricht allen Büchern, deren Titel mit “Harry” beginnt. Verwenden Sie ^ und $ für das Verhalten bei vollständiger Übereinstimmung.
Ja. Sowohl das JSON als auch der JSONPath-Auswerter leben in Ihrem Browser. Ihr Dokument und Ihre Abfragen verlassen niemals den Tab.
Verwandte Tools
ASCII-Tabelle Referenz
Vollständige ASCII-Tabelle von 0 bis 127 mit Dezimal-, Hex-, Oktal-, Binär- und numerischer HTML-Zeichenreferenz für jedes Zeichen, einschließlich Steuerzeichen wie NUL, LF und DEL.
HTML-Zeichenreferenz
Durchsuchbare Liste von HTML-Entitäten, ihren benannten und numerischen Codes sowie eine Ein-Klick-Kopie für Sonderzeichen und Symbole.
Farbrad-Explorer
Erforschen Sie das Farbrad interaktiv. Rotieren Sie Harmonien, vergleichen Sie HSL mit RYB, erkennen Sie komplementäre und triadische Paare in Echtzeit.
Referenz für Tastenkombinationen
Durchsuchen Sie dokumentierte Standardkürzel für VS Code, Chrome und Bash mit GNU Readline unter macOS, Windows und Linux.
Zufallsbuchstaben-Generator
Erzeugen Sie zufällige A-Z-Buchstaben. Wählen Sie Anzahl, Großschreibung, Kleinschreibung oder gemischte Schreibweise für Spiele, Aufgaben und Unterricht.
HTML-Formatter
Formatieren Sie HTML lokal im Browser mit zwei oder vier Leerzeichen Einrückung. HTML wird weder hochgeladen noch validiert.
Tool in anderen Sprachen verfügbar
- Testeur JSONPath [FR]
- JSONPath-testare [SV]
- เครื่องมือทดสอบ JSON Path [TH]
- أداة اختبار مسارات JSON (JSONPath) [AR]
- JSON Path Tester [ID]
- Công cụ kiểm thử JSONPath [VI]
- JSONPath 테스터 [KO]
- Probador de JSONPath [ES]
- JSON Path Tester [NL]
- Tester JSONPath [PL]
- JSONPath テスター [JA]
- Testador de JSONPath [PT]
- JSONPath Tester [RU]
- JSONPath Test Aracı [TR]
- JSON路径测试器 [ZH]
- JSONPath Tester [EN]
- Tester JSONPath [IT]