Home / News / News / Cos'è e come è strutturato JSON
Mattepuffo

Cos'è e come è strutturato JSON

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!