Cos'è JSON?
JSON sta per JavaScript Object Notation. È un formato di testo leggero per lo scambio di dati, ispirato alla sintassi degli oggetti JavaScript ma indipendente dal linguaggio. È definito dallo standard ECMA-404 ed è oggi il formato dominante per le API web REST.
Il suo successo è dovuto a tre caratteristiche: è leggibile dagli umani, è semplice da parsare per le macchine, e ha una struttura flessibile che si adatta a qualsiasi tipo di dato.
La struttura di base del JSON
JSON conosce solo sei tipi di valori:
- Stringa: testo tra doppi apici —
"ciao" - Numero: intero o decimale —
42,3.14 - Booleano:
trueofalse - Null: valore vuoto —
null - Array: lista ordinata di valori —
[1, 2, 3] - Oggetto: collezione di coppie chiave-valore —
{"nome": "Mario"}
Esempio pratico
Ecco come appare un oggetto JSON che rappresenta un utente:
Ogni chiave è una stringa tra doppi apici, seguita da due punti e poi dal valore. Le coppie sono separate da virgole. Gli oggetti annidati permettono di rappresentare strutture dati gerarchiche.
JSON vs XML: quale scegliere?
Prima di JSON, XML era lo standard per lo scambio di dati. Il confronto è netto:
- Verbosità: XML richiede tag di apertura e chiusura per ogni campo, JSON è molto più compatto
- Leggibilità: JSON è più immediato da leggere per chi è abituato agli oggetti nei linguaggi di programmazione
- Parsing: JSON è nativo in JavaScript e più veloce da parsare nella maggior parte dei linguaggi
- Funzionalità: XML supporta attributi, namespace, commenti, XPath e XSLT — funzionalità che JSON non ha
Per le API web moderne, JSON è quasi sempre la scelta giusta. XML rimane rilevante in contesti enterprise, sistemi legacy e formati come SVG, RSS e SOAP.
JSON vs CSV
CSV (Comma-Separated Values) è ideale per tabelle di dati semplici e uniformi (come fogli Excel). JSON è meglio per dati gerarchici, annidati o con struttura variabile. Un file JSON si converte facilmente in CSV quando la struttura è piatta — ToolsCove offre un tool dedicato per questa conversione.
Errori comuni nel JSON
- Virgola finale:
{"a": 1,}— la virgola dopo l'ultimo elemento non è permessa - Apici singoli: le chiavi e i valori stringa devono usare
"doppi apici", non'singoli' - Commenti: JSON non supporta commenti (
// commentoo/* commento */) - NaN e Infinity: non sono valori JSON validi — usa
nullper rappresentare l'assenza di un valore numerico - Chiavi duplicate: tecnicamente permesse dalla spec, ma il comportamento dei parser varia
Come usare JSON nei principali linguaggi
In Python: import json; data = json.loads(testo) per parsare, json.dumps(obj) per serializzare.
In JavaScript: JSON.parse(testo) per parsare, JSON.stringify(obj) per serializzare.
In PHP: json_decode($testo) e json_encode($array).
In Java: librerie come Jackson o Gson gestiscono la serializzazione e deserializzazione.
FAQ
No. JSON è un formato di testo indipendente dal linguaggio, ispirato alla sintassi degli oggetti JavaScript. È usato da praticamente tutti i linguaggi di programmazione moderni.
Entrambi sono formati di scambio dati, ma JSON è più compatto, leggibile e veloce da parsare. XML supporta attributi, namespace e commenti. JSON è oggi lo standard dominante per le API web.
Puoi usare il tool JSON Beautifier di ToolsCove, che valida e formatta il JSON automaticamente evidenziando gli errori di sintassi.
No. La specifica JSON ufficiale non prevede commenti. Alcune varianti come JSON5 o JSONC li supportano, ma non sono compatibili con i parser JSON standard.