Sări la conținut
Complet local

generator de filtre jq

Transformați un document JSON într-un filtru jq funcțional, cu previzualizare a rezultatelor.

Intrare
Ieșire

generator de filtre jq

Lipiți un document JSON și acest instrument enumeră fiecare cale de câmp pe care o conține, în propria sintaxă punct-și-paranteză a jq — .users[].email, .items[0].price, și așa mai departe — pentru ca nu trebuie să ghiciți structura datelor pe care nu ați scris-o. Alegeți una din acele căi, sau scrieți-vă propria, și instrumentul construiește un filtru jq funcțional în jurul acesteia.

Opțiunea de operație controlează ce fel de filtru este construit. Selectarea returnează valoarea sau valorile căii, una per linie, exact cum printează jq simplu un flux. Maparea înfășoară aceleași valori într-o singură matrice JSON cu paranteze. Filtrarea necesită o cale care se termină cu [] și o condiție precum age > 18 sau status == "active" — păstrează doar elementele care se potrivesc, folosind select() sub capotă. Agregarea indică o matrice completă (fără []) și raportează contul, și — când fiecare element este un număr — suma, minimul și maximul de asemenea; adăugați o condiție pentru a agrega doar elementele care o trec mai întâi.

Ieșirea text brut șterge ghilimelele din rezultatele șir, potrivind steagul -r al jq; ieșirea compactă restrânge JSON la o linie în loc de indentare cu două spații. Opțiunea versiune sintaxă jq marchează filtrul generat cu un comentariu pentru jq 1.5, 1.6 sau 1.7 — util când fixați un pipeline la o versiune specifică — fără a schimba ceea ce calculează previzualizarea, deoarece subsetul de jq pe care îl implementează acest instrument se comportă la fel în toate trei. Condițiile suportă ==, !=, >, >=, <, <= și contains, și compară cu numere, șiruri, valori logice, null sau text între ghilimele.

Tot se execută local în browserul dvs.: JSON-ul pe care îl lipiți, filtrul pe care îl construiți și rezultatul pe care îl produce nu pleacă niciodată din dispozitivul dvs. Când sunteți mulțumit cu filtrul, copiați rezultatul, descărcați-l ca fișier .txt, sau trimiteți rezultatul înapoi la intrare pentru a continua să o rafinați.

FAQ

Aceasta execută un binar jq real?
Nu. Implementează un subset practic al sintaxei de cale jq și operații în JavaScript, deci același filtru pe care îl vedeți aici poate avea nevoie de ajustări pentru cazuri de margine pe care o instalație completă jq le-ar gestiona.
De ce Filtrarea are nevoie de o cale care se termină cu []?
Filtrarea păstrează sau descartă elemente individuale ale unei matrice, deci calea trebuie să numească o colecție iterată — .users[] mai degrabă decât .users. Instrumentul vă va avertiza dacă nu o face.
Ce acceptă câmpul de condiție?
Un nume de câmp plus un operator și o valoare, cum ar fi age > 18 sau status == "active", sau doar un operator și o valoare (> 10) pentru a compara elementele unei matrice direct. Operatorii suportați sunt ==, !=, >, >=, <, <= și contains.
De ce Agregarea arată doar un count pentru unele căi?
Suma, minimul și maximul au sens doar pentru o matrice de numere. Când matricea conține obiecte — o listă de utilizatori, de exemplu — încă obțineți un count, opțional restrâns de o condiție mai întâi.
JSON-ul meu este încărcat undeva?
Nu. Analiza, descoperirea căilor și filtrarea se întâmplă toate în browserul dvs. — documentul dvs. nu este niciodată trimis unui server.