Hoppa till innehåll
100% lokalt

jq-filterbyggare

Gör om ett JSON-dokument till ett fungerande jq-filter, med förhandsgranskning på din egen data.

Inmatning
Utmatning

jq-filterbyggare

Klistra in ett JSON-dokument så listar verktyget varje fältväg det hittar, i jq:s egen syntax med punkter och hakparenteser — .users[].email, .items[0].price och så vidare — så att du slipper gissa strukturen på data du inte skrivit själv. Välj en av vägarna, eller skriv en egen, och verktyget bygger ett fungerande jq-filter kring den.

Alternativet Operation styr vilken typ av filter som byggs. Select returnerar vägens värde eller värden, ett per rad, precis som ren jq skriver ut en ström. Map paketerar samma värden i en enda JSON-array med hakparenteser. Filter kräver en väg som slutar på [] och ett villkor som age > 18 eller status == "active" — bara element som matchar behålls, med select() under huven. Aggregate pekar på en hel array (utan avslutande []) och rapporterar antalet, och när varje element är ett tal även summan, minsta och största värdet; lägg till ett villkor för att bara räkna de element som uppfyller det.

Rått textutdata tar bort citattecknen från strängresultat, i linje med jq:s flagga -r; kompakt utdata pressar ihop JSON till en rad istället för indrag med två mellanslag. Alternativet jq-syntaxversion lägger bara till en kommentar i det genererade filtret för jq 1.5, 1.6 eller 1.7 — praktiskt när du låser en pipeline till en viss version — utan att ändra vad förhandsgranskningen räknar ut, eftersom den delmängd av jq som verktyget implementerar beter sig likadant i alla tre. Villkor stöder ==, !=, >, >=, <, <= och contains, och jämför mot tal, strängar, booleaner, null eller citerad text.

Allt körs lokalt i din webbläsare: JSON:en du klistrar in, filtret du bygger och resultatet det ger lämnar aldrig din enhet. När filtret ser bra ut kan du kopiera resultatet, ladda ner det som en .txt-fil, eller skicka utdata tillbaka till indata för att fortsätta finjustera.

FAQ

Kör det här en riktig jq-binär?
Nej. Verktyget implementerar en praktisk delmängd av jq:s sökvägssyntax och operationer i JavaScript, så samma filter du ser här kan behöva justeras för specialfall som en fullständig jq-installation skulle hantera.
Varför behöver Filter en väg som slutar på []?
Filtrering behåller eller tar bort enskilda element i en array, så vägen måste peka på en itererad samling — .users[] istället för .users. Verktyget säger till om det inte gör det.
Vad accepterar fältet Villkor?
Ett fältnamn plus en operator och ett värde, som age > 18 eller status == "active", eller bara en operator och ett värde (> 10) för att jämföra en arrays element direkt. Operatorerna som stöds är ==, !=, >, >=, <, <= och contains.
Varför visar Aggregate bara ett antal för vissa vägar?
Summa, minsta och största värde är bara meningsfulla för en array av tal. Innehåller arrayen objekt — en lista med användare, till exempel — får du ändå ett antal, valfritt inringat av ett villkor först.
Laddas min JSON upp någonstans?
Nej. Tolkning, sökvägsupptäckt och filtrering sker helt i din webbläsare — ditt dokument skickas aldrig till en server.