Che cos'è il JSON e a cosa serve?
Il JSON (JavaScript Object Notation) è un formato di scambio dati basato su testo, creato da Douglas Crockford nel 2001 e oggi usato praticamente ovunque. Non è un linguaggio di programmazione: è una maniera di scrivere dati strutturati — oggetti, elenchi, numeri, testo, valori booleani — in modo che qualsiasi programma lo legga senza dover conoscere il mittente. È il formato con cui le API REST di Google, X, GitHub, Meta e Amazon restituiscono i dati, ed è il formato con cui il browser riceve quasi tutto. Si scrive fra apici e parentesi quadre, senza virgolette per le chiavi e sempre con i doppi apici per i valori testuali.
A cosa serve formattare un JSON?
Un JSON "compresso" su una sola riga è perfettamente valido, ma illeggibile. Le API lo restituiscono così per risparmiare traffico, e chi lo riceve deve decifrare una riga di 40.000 caratteri per capire cosa contiene. Formattare significa ristamparlo con rientranze e a capo, così da leggere la struttura a colpo d'occhio: è il primo passo per capire che cosa risponde un endpoint e individuare l'errore. Minimizzare fa il contrario ed è quello che serve quando si mette il JSON in un file, in un cookie o in una richiesta HTTP, dove ogni spazio è traffico inutile.
Perché un JSON non valido blocca tutto
Perché è strettamente sintattico: a differenza dei formati che sono permissivi, il JSON non ammette che nulla. Le cause più comuni di errore sono quasi sempre le stesse: la virgola finale dopo l'ultimo elemento, i testi senza doppi apici, le chiavi senza apici, il punto e virgola residuo di un oggetto JavaScript, o le apostrofi al posto dei doppi apici. Inoltre i numeri vanno scritti con il punto decimale e senza separatori di migliaia, così 3.14 è corretto e 1.234,56 no. Quando il JSON non valida, l'errore non viene segnalato: il semplice fatto che un file non venga letto basta a bloccare uno script. Per questo validare prima di usare un dato è sempre una buona idea.
JSON non è JavaScript
Capita spesso di confonderli, perché sintassi simili. Le differenze sono tre e contano: il JSON non ammette apici singoli (solo doppi), non ammette commenti, e non ammette virgole finali. Inoltre i valori vuoti non si scrivono undefined ma null. Di conseguenza un JSON che funziona in JavaScript può essere rifiutato da un validatore rigoroso, ed è la ragione per cui JSON.parse fallisce su molti file generati a mano. Questo strumento usa lo stesso parser che usano i browser e i server, quindi ciò che ti dice qui è esattamente ciò che accadrà altrove.
È gratis e privato?
Sì: gratuito, senza registrazione, tutto nel browser. Il tuo JSON non viene inviato a nessun server e non viene salvato. Puoi formattarlo, minimizzarlo, ordinarne le chiavi alfabeticamente, caricare un esempio con un clic e copiarlo negli appunti.