JSON: significato e un primo esempio
JSON sta per JavaScript Object Notation. È stato reso popolare da Douglas Crockford all'inizio degli anni 2000, riprende la sintassi di JavaScript ed è standardizzato come RFC 8259 ed ECMA-404. Nonostante il nome, JSON è indipendente da qualsiasi linguaggio di programmazione: praticamente ogni linguaggio è in grado di leggerlo e scriverlo.
Un piccolo documento JSON che descrive una persona:
{"name": "Ada Lovelace", "born": 1815, "languages": ["English", "French"], "mathematician": true, "spouse": null}
Tipi di dati JSON
| Tipo | Esempio | Note |
|---|---|---|
| Stringa | "Hello" | testo tra virgolette doppie, con escape come \n |
| Numero | 42, -3.14, 6.02e23 | niente NaN, Infinity, esadecimali o zeri iniziali |
| Booleano | true, false | sempre in minuscolo |
| Null | null | un valore vuoto o sconosciuto |
| Oggetto | {"key": "value"} | coppie nome/valore; i nomi sono stringhe |
| Array | [1, 2, 3] | un elenco ordinato di valori di qualsiasi tipo |
JSON non ha un tipo data: le date si scrivono di solito come stringhe ISO 8601, ad esempio "2026-05-01T10:00:00Z".
Formato JSON: le regole di sintassi
- I dati si scrivono come coppie nome/valore:
"name": "Ada". - Nomi (chiavi) e stringhe usano sempre le virgolette doppie – mai quelle singole.
- Gli elementi sono separati da virgole, senza virgola dopo l'ultimo elemento.
- Le parentesi graffe
{ }contengono oggetti, le parentesi quadre[ ]contengono array. - I commenti non sono ammessi.
- Spazi e a capo tra gli elementi vengono ignorati, quindi gli stessi dati possono essere minificati o formattati.
- Un testo JSON contiene un solo valore di primo livello ed è codificato in UTF-8.
Cos'è un file JSON?
Un file JSON è un file di testo semplice con estensione .json che contiene un documento JSON. Il suo media type è application/json e va salvato in UTF-8. Tipici file JSON sono le esportazioni di dati di app e siti web (ad esempio Google Takeout o i download dei dati dai social network), file di configurazione come package.json, risposte di API salvate su disco e set di dati da analizzare. Essendo testo semplice, un file JSON si può aprire in sicurezza: non può eseguire codice.
Come aprire un file JSON
| Dove | Come |
|---|---|
| Windows | Fai clic con il tasto destro sul file → Apri con → Blocco note, oppure usa un editor di codice come VS Code. Puoi vederlo anche trascinando il file in una finestra del browser. |
| Mac | Aprilo con TextEdit o con un editor di codice, oppure trascinalo in una finestra del browser. |
| iPhone e Android | Aprilo dall'app File in un visualizzatore di testo, oppure caricalo in un visualizzatore JSON online – il nostro funziona sugli smartphone e il file resta sul tuo dispositivo. |
| Browser web | Firefox ha un visualizzatore JSON integrato; in qualsiasi browser, un visualizzatore JSON online mostra i dati come albero comprimibile. |
| Excel | Su Windows usa Dati → Recupera dati → Da file → Da JSON, oppure converti prima il file con lo strumento da JSON a CSV. |
JSON vs XML
| JSON | XML | |
|---|---|---|
| Sintassi | parentesi graffe e quadre, coppie nome/valore | tag di apertura e chiusura |
| Tipi di dati | stringa, numero, booleano, null, oggetto, array | solo testo, a meno che uno schema definisca i tipi |
| Dimensione | compatto | più voluminoso a causa dei tag di chiusura |
| Commenti | no | sì |
| Attributi, namespace | no | sì |
| Uso tipico | API web, configurazione, database NoSQL | documenti, file di Office, SOAP e sistemi enterprise |
JSON nelle API e nelle applicazioni
La maggior parte delle API web invia e riceve JSON. Un client invia una richiesta con l'header Content-Type: application/json, il server risponde in JSON e il programma lo trasforma in oggetti nativi con JSON.parse in JavaScript, json.loads in Python o json_decode in PHP. JSON è alla base anche di file di configurazione come package.json e tsconfig.json, di database documentali come MongoDB e dell'output strutturato dei modelli di intelligenza artificiale.
Errori JSON comuni
- Una virgola finale dopo l'ultimo elemento:
[1, 2,] - Virgolette singole o chiavi senza virgolette:
{'a': 1},{a: 1} - Commenti come
// note - Una virgola o una parentesi mancante tra gli elementi
- Valori JavaScript o Python come
undefined,NaNoTrue
Incolla i tuoi dati nel validatore JSON per vedere la riga e la colonna esatte del problema, oppure lascia che Ripara lo corregga automaticamente.
JSON5, JSONC e JSON Lines
- JSON5 – un superset più permissivo pensato per i file scritti a mano: commenti, virgole finali, virgolette singole, chiavi senza virgolette e numeri esadecimali. I parser JSON standard non sono in grado di leggerlo.
- JSONC – JSON con commenti, usato per le impostazioni di VS Code e per
tsconfig.json. - JSON Lines / NDJSON (
.jsonl) – un valore JSON per riga, ideale per i log e per lo streaming di grandi set di dati. - GeoJSON – JSON per dati geografici, definito nella RFC 7946.
Domande frequenti
JSON è un linguaggio di programmazione?
No. JSON è un formato di dati: descrive dati ma non può contenere logica, funzioni o commenti.
JSON è la stessa cosa di un oggetto JavaScript?
No. JSON è testo che assomiglia a un oggetto letterale JavaScript, ma è più rigoroso: chiavi e stringhe richiedono le virgolette doppie e funzioni, undefined e commenti non sono ammessi. JSON.parse trasforma il testo in un vero oggetto.
Come si crea un file JSON?
Scrivi i dati in un qualsiasi editor di testo seguendo le regole descritte sopra e salva il file in UTF-8 con estensione .json. Prima di usarlo, controllalo con un validatore JSON.
Ultimo aggiornamento: