Vai al contenuto
100% locale

generatore di filtri jq

Trasforma un documento JSON in un filtro jq funzionante, con anteprima sui tuoi dati.

Ingresso

generatore di filtri jq

Incolla un documento JSON e questo strumento elenca ogni percorso di campo che contiene, nella stessa sintassi di punti e parentesi di jq — .users[].email, .items[0].price, e così via — così non devi indovinare la struttura di dati che non hai scritto tu stesso. Scegli uno di questi percorsi, o digita il tuo, e lo strumento costruisce un filtro jq funzionante intorno ad esso.

L'opzione operazione controlla quale tipo di filtro viene costruito. Selezionare restituisce il valore o i valori del percorso, uno per riga, esattamente come jq semplice stampa un flusso. Mappare avvolge gli stessi valori in un unico array JSON con parentesi quadre. Filtrare richiede un percorso che termina con [] e una condizione come age > 18 o status == "active" — mantiene solo gli elementi che corrispondono, usando select() dietro le quinte. Aggregare punta a un array completo (senza [] alla fine) e riporta il suo numero, e — quando ogni elemento è un numero — la somma, il minimo e il massimo anche ; aggiungi una condizione per aggregare solo gli elementi che passano prima.

L'output testo grezzo rimuove le virgolette dai risultati stringa, corrispondendo al flag -r di jq ; l'output compatto comprime il JSON su una riga anziché indentazione a due spazi. L'opzione versione sintassi jq etichetta il filtro generato con un commento per jq 1.5, 1.6 o 1.7 — utile quando fissi una pipeline a una versione specifica — senza cambiare quello che l'anteprima calcola, poiché il sottoinsieme di jq che questo strumento implementa si comporta allo stesso modo su tutti e tre. Le condizioni supportano ==, !=, >, >=, <, <= e contains, e confrontano con numeri, stringhe, booleani, null o testo tra virgolette.

Tutto viene eseguito localmente nel tuo browser: il JSON che incolla, il filtro che costruisci e il risultato che produce non lasciano mai il tuo dispositivo. Quando sei soddisfatto del filtro, copia il risultato, scaricalo come file .txt, o invia l'output indietro nell'input per continuare a perfezionarlo.

FAQ

Questo esegue un vero binario jq?
No. Implementa un sottoinsieme pratico della sintassi del percorso jq e delle operazioni in JavaScript, quindi lo stesso filtro che vedi qui potrebbe aver bisogno di modifiche per i casi limite che un'installazione jq completa gestirerebbe.
Perché Filtrare ha bisogno di un percorso che termina con []?
Filtrare mantiene o scarta elementi individuali di un array, quindi il percorso deve nominare una raccolta iterata — .users[] anziché .users. Lo strumento te lo dirà se non è così.
Cosa accetta il campo condizione?
Un nome di campo più un operatore e un valore, come age > 18 o status == "active", o solo un operatore e un valore (> 10) per confrontare direttamente gli elementi di un array. Gli operatori supportati sono ==, !=, >, >=, <, <= e contains.
Perché Aggregare mostra solo un numero per alcuni percorsi?
Somma, minimo e massimo hanno senso solo per un array di numeri. Quando l'array contiene oggetti — un elenco di utenti, ad esempio — otterrai comunque un numero, facoltativamente ristretto da una condizione prima.
Il mio JSON viene caricato da qualche parte?
No. L'analisi, la scoperta del percorso e il filtraggio si verificano tutto nel tuo browser — il tuo documento non viene mai inviato a un server.