bitlvl
IT

Formattatore e validatore JSON

Incolla del JSON. Viene validato mentre scrivi, con riga e colonna del primo errore e la sua probabile causa. Poi formattalo, minificalo, ordinalo o convertilo.

I risultati e i messaggi di questo strumento sono mostrati in inglese.

Cosa rende un JSON non valido

JSON è più rigido di JavaScript, e gli errori sono quasi sempre uno di pochi casi:

ErrorePerchéSoluzione
{"a": 1,}Virgola finaleTogli la virgola prima di } o ].
{'a': 1}Apici singoliStringhe e chiavi usano solo i doppi apici.
{a: 1}Chiave senza virgoletteMettila tra virgolette: "a".
// commentoNiente commenti in JSONRimuovili, o usa JSON5 / JSONC dove il consumatore lo supporta (impostazioni di VS Code, tsconfig).
0123, .5, NaN, InfinityNumeri non validiNiente zeri iniziali, una cifra prima del punto, niente NaN/Infinity.
"riga\nspezzata"A capo letterale dentro una stringaScrivilo come \n.
undefinedNon è un valore JSONUsa null.

La modalità permissiva rimuove commenti e virgole finali e converte gli apici singoli prima dell’analisi, comodo per i file di configurazione scritti a mano. L’output è sempre JSON rigoroso.

YAML

YAML è nello spirito un superinsieme di JSON (ogni documento JSON è YAML valido) ma molto più vasto: l’indentazione definisce la struttura, le stringhe di solito non hanno virgolette, e alcune parole nude hanno significati sorprendenti. yes, no, on e off diventano booleani nei parser YAML 1.1, 022 può diventare l’ottale 18, e 3.10 diventa 3.1. Il convertitore mette tra virgolette questi valori quando emette YAML perché il round-trip funzioni. La direzione YAML → JSON supporta il sottoinsieme a blocchi più comune: mappe, liste, scalari, stringhe tra virgolette, collezioni flow e blocchi | / >.

Documenti grandi

Tutto gira nel tuo browser, quindi qualche megabyte va bene. Le statistiche dell’albero (profondità, numero di oggetti e array) aiutano a individuare dati annidati in modo inatteso prima di caricarli in qualcosa che si strozzerebbe.

Domande

Perché il mio JSON non è valido se funziona in JavaScript?

I letterali oggetto di JavaScript ammettono chiavi senza virgolette, apici singoli, virgole finali, commenti e numeri hex. JSON non ammette nessuno di questi. Attiva la modalità permissiva per vedere quale sarebbe la forma rigorosa.

Come trovo l’errore alla riga 2000 di un file grande?

Il validatore riporta riga e colonna e mostra il testo attorno all’errore. La maggior parte degli editor salta a una riga con Ctrl-G.

La formattazione cambia i dati?

No. Formattare e minificare cambiano solo gli spazi. Ordinare le chiavi cambia l’ordine, che JSON non considera significativo, ma alcuni consumatori (firme, JSON canonico) sì.

Perché un numero ha perso precisione?

I numeri JavaScript sono double, quindi gli interi sopra 2⁵³ (circa 9 × 10¹⁵) vengono arrotondati all’analisi. Se formatti un documento con ID del genere, memorizzali come stringhe.