JSON (JavaScript Object Notation)
JSON, acronimo di JavaScript Object Notation, è un formato di interscambio dati leggero e facilmente leggibile sia per gli umani che per le macchine. Si basa su un sottoinsieme del linguaggio di programmazione JavaScript, ma è indipendente dal linguaggio ed è utilizzato da molti linguaggi di programmazione diversi.
Caratteristiche principali:
- Leggibilità: La sua sintassi semplice e intuitiva lo rende facile da comprendere e modificare.
- Leggerezza: Essendo basato su testo, è efficiente nello spazio e nella trasmissione.
- Indipendente dal linguaggio: Può essere facilmente parsato e generato da diversi linguaggi di programmazione.
- Struttura gerarchica: Supporta strutture di dati complesse tramite annidamento di oggetti e array.
- Diffusione: È ampiamente utilizzato per lo scambio di dati in applicazioni web, API e configurazioni.
Sintassi:
Un documento JSON è costituito da uno dei seguenti tipi di dati:
- Oggetto (Object): Una collezione non ordinata di coppie chiave-valore, racchiusa tra parentesi graffe
{}
. Le chiavi devono essere stringhe racchiuse tra virgolette doppie. I valori possono essere uno qualsiasi dei tipi di dati JSON (oggetto, array, stringa, numero, booleano, null).
- Array (Array): Una lista ordinata di valori, racchiusa tra parentesi quadre
[]
. I valori possono essere di qualsiasi tipo di dato JSON.
- Stringa (String): Una sequenza di caratteri Unicode racchiusa tra virgolette doppie
""
.
- Numero (Number): Un numero intero o a virgola mobile.
- Booleano (Boolean):
true
o false
.
- Null (Null): Un valore vuoto.
Esempio:
{
"nome": "Mario",
"cognome": "Rossi",
"eta": 30,
"indirizzo": {
"via": "Via Roma, 1",
"citta": "Milano"
},
"telefoni": [
"3331234567",
"0298765432"
],
"is_attivo": true,
"data_nascita": null
}
Utilizzo:
JSON è ampiamente utilizzato in diversi contesti, tra cui:
- API Web: Come formato di risposta per le API RESTful. Spesso utilizzato al posto di XML.
- Configurazione delle applicazioni: Per memorizzare impostazioni e parametri di configurazione.
- Serializzazione dei dati: Per serializzare oggetti e strutture dati per la memorizzazione o la trasmissione.
- Database NoSQL: Molti database NoSQL utilizzano JSON come formato principale per la memorizzazione dei dati.
- Ajax (Asynchronous JavaScript and XML): Per scambiare dati tra un browser web e un server in modo asincrono. Sebbene il nome includa "XML", JSON è diventato molto più popolare per questa applicazione.