Cos'è e come è strutturato JSON
Ho parlato tante varie volte di JSON, in varie sezioni del blog; ma non ho mai approfondito il discorso.
E quindi lo faccio oggi.
Cos'è JSON? E come è strutturato?
JSON sta per Javascript Object Notation, e nasce come formato per lo scambio dati sulla rete.
Ma non fatevi ingannare dal nome: ad oggi è considerato uno standard, e praticamente qualsiasi linguaggio (non solo Javascript quindi) è in grado di interpretarlo.
E' molto utilizzato in ambito AJAX, ed ha praticamente preso il posto di XML.
Inoltre, è diventato così popolare che viene anche usato come file di configurazione in vari ambiti; ad esempio:
- Nodejs / NPM
- Bower
- Composer
Il maggior motivo del suo successo, è dovuto alla sua semplicità e flessibilità, soprattutto nei confronti di XML.
Vediamo com'è strutturato partendo dai tipi di dato fondamentali che suporta:
- booleani (true e false)
- interi, reali, virgola mobile
- stringhe racchiuse da doppi apici (")
- array (sequenze ordinate di valori, separati da virgole e racchiusi in parentesi quadre [])
- array associativi (sequenze coppie chiave-valore separate da virgole racchiuse in parentesi graffe)
- null
I dati possono essere scritti in due tipi di strutture:
- un insieme di coppie chiave:valore
- un elenco di valori (tendenzialmente riconosciuti ed interpretati come array)
Questo un esempio banale:
{
"studenti":[
{
"nome":"matteo",
"cognome":"mattei",
"eta":30
},
{
"nome":"susanna",
"cognome":"suanni",
"eta":25
},
{
"nome":"marco",
"cognome":"marchi",
"eta":27
}
]
}
Abbiamo un array di studenti (notate le parentesi quadre); per ogni studente (un record) abbiamo tre campi (nome, cognome ed età), di cui il terzo in valore numerico.
Come vedete la sua struttura è molto semplice; basterà ciclare sull'array associativo, e per ogni record prendere il valore associativo del campo.
Io personalmente uso JSON ovunque, e non trovo un motivo per usare XML.
Molti dicono che per scambiare una grosse mole di dati è meglio XML; io rispondo sempre che Facebook per il suo Open Graph usa JSON, e non è che scambi pochi dati.
Enjoy!
json javascript object notation xml ajax
Commentami!