DevBox Strumenti veloci per sviluppatori, senza registrazione

Formattatore e Validatore JSON

Incolla il JSON qui sotto, poi scegli se formattare o minificare. Un JSON non valido riceve l'errore reale del parser, non una schermata vuota — nulla di ciò che incolli lascia il tuo browser.

Formatta, valida e riduci il JSON in un solo passaggio

JSON.parse riesce oppure lancia un errore, quindi la validazione è un effetto collaterale gratuito della formattazione — questo strumento analizza ciò che incolli e ti dice onestamente quale dei due è successo. Formatta riordina un JSON valido con l'indentazione che scegli — 2 spazi, 4 spazi o tabulazione — per la leggibilità, e Minifica rimuove ogni carattere non essenziale per il payload più piccolo possibile. Se l'input non è valido, ottieni il vero SyntaxError del parser invece di una descrizione fatta a mano — è meno elegante, ma è accurato, e quasi tutti i motori indicano la posizione esatta del carattere che ha bloccato il parsing.

Esempio pratico

Input: {"user":"Ada","admin":true,"roles":["dev","ops"]} (49 caratteri, 3 chiavi). Formatta con indentazione a 2 spazi produce:

{
  "user": "Ada",
  "admin": true,
  "roles": [
    "dev",
    "ops"
  ]
}

— 75 caratteri, pronto per la lettura. Minifica sullo stesso input lo restituisce esattamente com'era all'inizio, a 49 caratteri, dato che non aveva già spazi bianchi in eccesso. Ora prova {"user":"Ada","admin":true,} — la virgola finale dopo true non è JSON valido, e questo strumento mostra il vero errore del browser invece di fallire in silenzio o inventarne uno.

Domande frequenti

Cosa rende un JSON non valido?

Le cause più comuni: una virgola finale dopo l'ultimo elemento di un oggetto o di un array ({"a":1,}), gli apici singoli al posto delle virgolette doppie ('chiave' invece di "chiave"), le chiavi senza virgolette ({chiave: 1} invece di {"chiave": 1}) e i commenti (// o /* */ — lo standard JSON non prevede alcuna sintassi di commento). Tutti e quattro sono perfettamente validi in un oggetto letterale JavaScript, ed è esattamente per questo che incollare codice JS come se fosse JSON fallisce così spesso.

Perché il messaggio di errore sembra così tecnico?

Perché non è un testo nostro — è il vero messaggio SyntaxError prodotto da JSON.parse, mostrato esattamente come lo scrive il browser, invece di una descrizione inventata di dove pensiamo sia il problema. A seconda del browser può apparire in inglese, ma è onesto: è ciò che vedresti aprendo la console, e quasi sempre indica la posizione del carattere che ha fatto fallire il parsing.

I miei dati vengono caricati da qualche parte?

No. Parsing, formattazione e minificazione avvengono interamente nel tuo browser tramite JSON.parse e JSON.stringify — nulla di ciò che incolli viene inviato, salvato o registrato su un server. Vale per ogni strumento di questo sito.

Questo strumento valida il mio JSON contro uno schema?

No — controlla solo la SINTASSI: le parentesi graffe sono bilanciate, le stringhe sono tra virgolette corrette, ogni virgola è al posto giusto. Non ha modo di sapere se i tuoi dati hanno i campi, i tipi o la forma giusta per la tua applicazione — per quello serve una validazione JSON Schema, un controllo strutturale separato che questo strumento non esegue.