Andiamo in ordine... prima di tutto il
tipo mime:
application/json
(RFC 8259).
JSON sta per JavaScript Object Notation ed è un formato leggero per l'interscambio dei dati. L'idea che ha portato alla sua creazione era di avere un linguaggio facile da leggere per le persone e da analizzare/generare per i computers. Quello che viene rappresentato è un singolo oggetto ed è basato sulla notazione che usa Javascript per definire le costanti e i vettori.
Quello che segue è un esempio di specifica di una rubrica:
{
"nome": "rubrica lavoro",
"contatti":[
{"nome":"Pluto", "numero":"555-87562345", "eta":18 },
{"nome":"Pippo", "numero":"555-874534555", "eta":14 }
]
}
Le regole da seguire sono piuttosto semplici:
- le parentesi quadre contengono array (composti da un elenco di valori separati da virgola)
- le parentesi graffe contengono oggetti (composti da un elenco di
nome: valoreseparati da virgole) - i nomi vanno racchiusi tra virgolette
- i valori di tipo stringa vanno tra virgolette
- i valori di tipo numerico e booleano non hanno bisogno di virgolette
Ad oggi moltissimi linguaggi hanno delle librerie per leggere/scrivere dati in formato JSON e alcuni database permettono di registrare le informazioni in questo formato.
Proviamo a vedere un oggetto un pochino più complicato: il menu di una pizzeria.
{
"pizzeria": "Il pappagallo rosso",
"piatti": [
{
"nome": "pizza margherita",
"prezzo": 5.5,
"ingredienti": ["pasta", "mozzarella", "pomodoro", "basilico"]
},
{
"nome": "pizza marinara",
"prezzo": 6.5,
"ingredienti": ["pasta", "mozzarella", "pomodoro", "alici", "capperi"]
}
]
}
In questo caso l'oggetto ha due proprietà un nome e un array (in pratica è un elenco) di piatti, a sua volta ogni singolo piatto ha un nome, un prezzo (che non ha bisogno di virgolette perché è un numero) e un elenco di ingredienti che sono dei testi.