TK TaskKit
Strumenti per dev

Formatter JSON

Formatta, minifica, valida, ripara e ordina JSON. Query JSONPath, modifica ad albero inline, esportazione CSV e permalink condivisibili — tutto nel browser.

Input
Risultato
Incolla JSON o trascina un file .json.
Formatta su qualsiasi pagina (bookmarklet)

Trascina questo pulsante nella barra dei preferiti. Su qualsiasi pagina, cliccalo per inviare la selezione corrente (o il testo della pagina) a TaskKit per la formattazione. Link same-origin — nessun traffico di terze parti.

Formatta JSON

Gli input restano su questo dispositivo. Ogni strumento per dev di TaskKit gira interamente nel tuo browser. Token, payload e testo incollato non vengono trasmessi ai server di TaskKit né a terze parti.

Cosa fa questo strumento

Un formatter JSON che fa pretty-print, minifica, valida, ripara e interroga JSON nel tuo browser. Indica la riga e la colonna esatte di qualsiasi errore di sintassi, supporta drag-and-drop per i file, ricorda il tuo ultimo input attraverso i ricaricamenti di pagina, e renderizza documenti di diversi megabyte senza congelare il tab. Tutto gira in locale — nessun round-trip server, nessun upload.

Oltre alla formattazione, lo strumento offre query JSONPath per estrarre valori da un documento, una vista ad albero interattiva con modifica in linea, sort-keys per diff stabili, una passata di « Repair » per il JSON-con-virgole-finali-e-commenti che il tuo file di config contiene davvero, esportazione CSV per array di oggetti, e un permalink che codifica il tuo input nell'URL per condividere una vista esatta con un collega.

Quando usarlo

  • Leggere il body di una risposta API che torna in una sola riga minificata.
  • Pulire un file di config prima di committarlo in un repo.
  • Confermare che un payload che stai per fare POST sia effettivamente JSON valido.
  • Estrarre un singolo valore da un documento profondamente annidato con un'espressione JSONPath come $.users[?(@.role=='admin')].email.
  • Esportare un array di record come CSV per un foglio di calcolo.
  • Condividere un payload problematico con un collega tramite permalink, senza incollare il JSON in Slack.
  • Confrontare due documenti JSON (sort keys su entrambi, poi lancia il Comparatore sull'output formattato).

Come funziona

Il parser strict è il JSON.parse integrato del browser, il che significa conformità RFC 8259: niente virgole finali, niente commenti, niente chiavi senza virgolette, niente stringhe tra apici singoli. Quando il parsing fallisce, mappiamo la posizione del messaggio di errore nativo a una riga e colonna in modo che tu non debba contare le parentesi a mano. Il pretty-print usa JSON.stringify(value, null, 2) e la minificazione usa JSON.stringify(value) — le stesse primitive che usa il tuo runtime.

La passata di Repair è intenzionalmente separata: rimuove commenti di riga e di blocco, rimuove virgole finali e normalizza le virgolette tipografiche in virgolette dritte, poi lancia il parser strict sul risultato. Non prova a indovinare chiavi senza virgolette o inventare parentesi mancanti — se un documento è strutturalmente rotto, devi saperlo.

Sort keys attraversa l'albero ricorsivamente e ri-emette ogni oggetto con le sue chiavi in ordine lessicografico. Gli array mantengono il loro ordine. È il trucco per ottenere un diff stabile tra due risposte API che differiscono solo per l'ordine delle chiavi.

Le query JSONPath vengono valutate contro il documento parsato. I valori corrispondenti sono evidenziati nella vista ad albero ed elencati nel pannello dei risultati. Espressioni di filtro (?()), wildcard (*), discesa ricorsiva (..) e slice di array ([start:end]) sono tutte supportate.

La modifica ad albero ti permette di cliccare su un valore per cambiarlo sul posto. Le modifiche vengono applicate alla struttura parsata e ri-serializzate nel textarea, in modo che l'output formattato e l'albero non siano mai in disaccordo. Lo stato espanso/ridotto è preservato attraverso i re-render in modo che tu non perda il tuo posto quando salvi una modifica.

L'esportazione CSV appiattisce un array di oggetti in una riga di intestazioni più righe di valori. I campi annidati sono accessibili tramite dot-paths. Le stringhe contenenti virgole, virgolette o newline sono escapate secondo RFC 4180.

I permalink codificano l'input nel frammento dell'URL con base64 + compressione tipo LZ, in modo che il JSON stesso non tocchi mai un server. Il frammento entra comodamente nella barra degli indirizzi per payload tipici (qualche KB); i documenti enormi restano locali e l'opzione permalink si attenua.

Note

Perché una copia di una risposta API fallisce il parse? I browser e i terminali a volte incollano virgolette tipografiche (" e ") invece di dritte ("). JSON richiede virgolette dritte. Il parser strict mette l'indicatore di errore sulla prima virgoletta tipografica, oppure la passata Repair le normalizza per te.

I file grandi sono supportati? Sì. Il parser gestisce documenti di diversi megabyte e la vista ad albero virtualizza il rendering, in modo che anche un array da 50 MB resti scrollabile. Sopra quel limite, il thread principale del browser può congelare brevemente sul passaggio di parse stesso; a quella scala preferisci un parser stream come stream-json in Node.

Perché il risultato JSONPath è vuoto? Le espressioni JSONPath sono sensibili al case e devono iniziare con $ per la radice. Le espressioni di filtro hanno bisogno di una @ davanti per il nodo corrente — $.users[?(@.role=='admin')] non $.users[?(role=='admin')].

Il permalink espone i miei dati? No. Il payload codificato sta nel frammento dell'URL (la parte dopo #), che i browser non inviano ai server. Se condividi il permalink, il browser del destinatario lo decodifica in locale; TaskKit non lo vede mai.

Questo strumento vede i miei dati? No. Parsing, formattazione, valutazione JSONPath, repair ed esportazione CSV avvengono tutti nel tuo tab. Non c'è passaggio di upload, non c'è analytics sui contenuti, e non c'è un'anteprima che invia testo a un server.

Strumenti correlati