jq Playground

Füge JSON ein, schreibe einen jq-Filter und sieh das Ergebnis sofort. Führt das echte jq aus, kompiliert zu WebAssembly, vollständig in deinem Browser.

Dein JSON wird lokal von jq verarbeitet, das als WebAssembly in deinem Browser läuft, und nie hochgeladen, aber vermeide es, Geheimnisse oder Produktionsdaten in irgendein Tool einzufügen.

Brauchst du einen JSONPath statt jq? Probiere den JSONPath Evaluator.

Über jq Playground

Dieses jq Playground lässt dich jq-Filter gegen JSON ausführen, ohne etwas zu installieren. Füge ein JSON-Dokument ein, tippe einen Ausdruck wie .users | map(.name), .[] | select(.active) oder group_by(.type), und das Ergebnis erscheint, während du tippst. Es ist das echte jq 1.8.2, kompiliert zu WebAssembly, sodass dieselben Filter, Funktionen und die Pipe-Syntax, die du auf der Kommandozeile verwendest, hier funktionieren, einschließlich map, select, sort_by, group_by, to_entries und String-Interpolation. Schalte raw output (-r) ein, um Anführungszeichen aus String-Ergebnissen zu entfernen, oder compact output (-c), um jeden Wert in eine Zeile zu setzen. jq-Kompilier- und -Laufzeitfehler werden angezeigt, sodass du einen Filter schnell beheben kannst. Da jq als WebAssembly innerhalb der Seite läuft, wird das eingefügte JSON lokal auf deinem Gerät verarbeitet und nie an einen Server hochgeladen.

Funktionen

So verwendest du jq Playground

  1. Füge dein JSON in das JSON-Feld ein oder tippe es ein.
  2. Schreibe einen jq-Filter in das Filter-Feld, zum Beispiel .users | map(.name).
  3. Beobachte, wie sich die Ausgabe aktualisiert, oder drücke Ausführen / Cmd+Enter, um sofort auszuwerten.
  4. Schalte raw (-r) oder compact (-c) um, wenn du eine andere Formatierung brauchst.
  5. Klicke auf Kopieren, um das Ergebnis zu übernehmen.

Beispiel

Eingabe

{
  "users": [
    { "name": "Ada", "active": true },
    { "name": "Linus", "active": false }
  ]
}

Ausgabe

[
  "Ada"
]

Der Filter .users | map(select(.active)) | map(.name) behält nur aktive Nutzer und gibt ihre Namen zurück.

Häufige Fehler & Fehlerbehebung

Häufig gestellte Fragen

Führt das hier das echte jq aus?
Ja. Es führt jq aus, kompiliert zu WebAssembly, sodass es die tatsächliche jq-Engine ist, keine JavaScript-Neuimplementierung. Die Filter, eingebauten Funktionen und die Pipe-Semantik entsprechen dem jq, das du in einem Terminal ausführst.
Welche jq-Version wird unterstützt?
jq 1.8.2, via den jq-wasm-Build. Funktionen und Syntax, die in jq 1.8 verfügbar sind – etwa group_by, to_entries, ltrimstr und String-Interpolation mit \(...) –, funktionieren hier.
Was machen die raw-(-r)- und compact-(-c)-Umschalter?
Raw output (-r) gibt String-Ergebnisse ohne die umgebenden Anführungszeichen aus, entsprechend dem -r-Flag von jq. Compact output (-c) gibt jeden JSON-Wert in einer einzigen Zeile statt verschönert aus, entsprechend dem -c-Flag von jq.
Wird mein JSON irgendwohin hochgeladen?
Nein. jq läuft als WebAssembly innerhalb dieser Seite, sodass das eingefügte JSON und der geschriebene Filter lokal auf deinem Gerät ausgewertet und nicht an einen Server gesendet werden.
Warum ist der erste Lauf etwas langsamer?
Das jq-WebAssembly-Modul wird beim ersten Ausführen eines Filters heruntergeladen und initialisiert, weshalb du einen kurzen Ladezustand siehst. Danach bleibt es im Speicher und nachfolgende Läufe sind schnell.
Kann ich Filter mit select, map und group_by ausführen?
Ja. Ausdrücke wie .[] | select(.active), .users | map(.name) und group_by(.type) funktionieren alle, zusammen mit dem Rest von jqs Filter-, Transformations- und Aggregationsfunktionen.

Verwandte Tools

Alle ArrayKit-Tools