Zum Inhalt springen
100% lokal

JSONPath-Extraktor

Extrahieren Sie übereinstimmende Werte aus einem JSON-Dokument mit JSONPath- oder JSON-Pointer-Ausdrücken.

Eingabe
Ausgabe

JSONPath-Extraktor

Fügen Sie ein JSON-Dokument ein, schreiben Sie eine Abfrage und dieses Tool gibt nur die Werte zurück, die übereinstimmen — ohne dass Sie ein Skript schreiben oder ein REPL öffnen müssen, um ein Feld aus einer großen Datenstruktur zu extrahieren. Es unterstützt zwei Abfragestile: JSONPath-Ausdrücke wie $.users[*].email und RFC 6901 JSON-Pointer-Referenzen wie /users/0/email. Wechseln Sie je nach Bedarf zwischen ihnen mit der Syntax-Option, je nachdem, welche Sie bereits aus einer API-Dokumentation, einer Protokollzeile oder einer Fehlermeldung zur Verfügung haben.

Die JSONPath-Unterstützung umfasst die Muster, die Menschen tatsächlich verwenden: Punkt- und Klammernotation ($.user.name oder $['user name'] für Schlüssel mit Leerzeichen), das Wildcard-Symbol [*] zum Auffalten über alle Array-Elemente oder alle Objektwerte, numerische Indizes einschließlich negativer Indizes vom Ende aus gezählt ($.items[-1]) und .. rekursive Abstammung zum Auffinden eines Schlüssels in beliebiger Tiefe, unabhängig davon, wie tief er verschachtelt ist ($..email). Filterausdrücke und Slice-Bereiche werden nicht unterstützt — wenn Ihre Abfrage bedingte Logik benötigt, extrahieren Sie zuerst das übergeordnete Array und filtern Sie es anschließend.

Zwei Optionen gestalten die Ausgabe. "Zeilenliste" gibt jeden gefundenen Wert auf seiner eigenen Zeile aus — Zeichenketten werden ungeändert ausgegeben, Objekte und Arrays werden als kompaktes JSON ausgegeben — was bequem ist, um direkt mit anderen zeilengestützten Tools wie sort oder dedupe zu kombinieren. "JSON-Array" umhüllt jeden Treffer in einem einzelnen JSON-Array, nützlich wenn Sie eine saubere, analysierbare Teilmenge des ursprünglichen Dokuments wünschen. Aktivieren Sie "Pfad für jeden Treffer anzeigen", um jedem Ergebnis den aufgelösten Pfad voranzustellen, was hilft, wenn mehrere verschiedene Felder plausibel einen bestimmten Wert erklären könnten.

Alles läuft lokal in Ihrem Browser ab: das Dokument, das Sie einfügen, und der Ausdruck, den Sie schreiben, werden nirgendwo hochgeladen. Dies macht es sicher, echte API-Antworten, interne Konfigurationsexporte oder Auszüge aus Produktionsprotokollen zu verwenden. Die Summen unter der Ausgabe zeigen genau an, wie viele Treffer gefunden wurden, sodass ein unerwartetes leeres Ergebnis leicht von einer Abfrage unterschieden werden kann, die stillschweigend nichts zurückgab.

Häufige Fragen

Was ist der Unterschied zwischen JSONPath und JSON Pointer?
JSONPath-Ausdrücke wie $.users[*].email können viele Werte gleichzeitig mit Wildcard-Symbolen und rekursiver Abstammung abgleichen. JSON-Pointer-Referenzen wie /users/0/email beziehen sich immer auf höchstens einen Wert — es ist ein einfacheres, literaleres Adressierungsschema, das häufig in JSON Schema und HTTP PATCH-Payloads vorkommt.
Welche JSONPath-Funktionen werden unterstützt?
Punkt- und Klammernotation, das [*]-Wildcard-Symbol, numerische Array-Indizes (einschließlich negativer) und .. rekursive Abstammung für einen Schlüssel in beliebiger Tiefe. Filterausdrücke wie [?(@.price<10)] und Slice-Bereiche wie [0:2] werden nicht unterstützt.
Was passiert, wenn mein Ausdruck nichts übereinstimmt?
Sie erhalten ein leeres Ergebnis und eine Summe von 0 Treffern — dies wird nicht als Fehler behandelt. Ein Fehler wird nur bei ungültigem JSON-Eingang oder einem fehlerhaft geformten Ausdruck angezeigt.
Kann ich sehen, woher jeder Wert kommt?
Aktivieren Sie "Pfad für jeden Treffer anzeigen" und jedem Ergebnis wird der genaue Pfad vorangestellt, in dem er gefunden wurde, in der gleichen Syntax wie die Abfrage — JSONPath-Pfade wie $.users[0].email oder der ursprüngliche Pointer für JSON Pointer-Abfragen.
Wird mein JSON-Dokument irgendwo hochgeladen?
Nein. Das Parsen und Abfragen erfolgen vollständig in Ihrem Browser — das Dokument und der Ausdruck verlassen Ihr Gerät nie.