JSON: che cos’è e come funziona? Il JSON è un formato che permette di rendere più leggibili i dati a tutti noi. In questo articolo ti spiego che cos’è il JSON e come funziona col minor tecnichese possibile!
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
JSON: che cos’è e come funziona? Ma prima ancora: che cosa significa JSON?
Priam di capire che cosa’è e come funziona il JSON… Che cosa significa? Partiamo dalle basi: il significato della parola “JSON” è tanto semplice quanto pratico.
L’acronimo JSON sta esattamente per “Javascript object notation” e la sua storia nasce dal fatto che… Era necessario trovare un formato che fosse quanto più possibile pulito e leggibile e al contempo permettesse di essere utilizzato nelle API e nei servizi web per trasferire informazioni svincolandosi dal tipo di architettura e linguaggio di programmazione utilizzato.
Facciamo un esempio con un altro formato dati che non è del tutto pulito e carino:
<CATALOG>
<PLANT>
<COMMON>Bloodroot</COMMON>
<BOTANICAL>Sanguinaria canadensis</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$2.44</PRICE>
<AVAILABILITY>031599</AVAILABILITY>
</PLANT>
<PLANT>
<COMMON>Columbine</COMMON>
<BOTANICAL>Aquilegia canadensis</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$9.37</PRICE>
<AVAILABILITY>030699</AVAILABILITY>
</PLANT>
</CATALOG>
Questo è l’XML e non è propriamente leggibilissimo: è strutturato certo, ma c’è di meglio.
Facciamo un esempio altrettanto pratico:
{
"impiegati":[
{
"nome": "Marco", "cognome": "Rossi",
},
{
"nome": "Lorenzo", "cognome": "Neri",
},
{
"nome": "Giulia", "cognome": "Verdi",
}
}
Hai notato anche tu che è molto più chiaro e nitido rispetto all’XML? 😀
Torniamo a noi.
Dal nome di questo formato, avrai intuito molto bene che è strettamente correlato a JavaScript: ed è così.
La struttura di un file JSON è pressoché quella utilizzata per gli oggetti JavaScript. Infatti, possono essere direttamente convertiti in JSON.
Ovviamente è possibile eseguire anche l’operazione opposta: possiamo tradurre un file JSON in oggetti JavaScript.
Prima di proseguire lungo la strada legata a questo standard è anche giusto citare gli standard dietro di esso.
C’è uno standard, per la precisione lo standard ECMA-262 dietro di esso ed è giusto lasciarti anche le sue stesse referenze!
JSON: Perchè viene utilizzato il JSON? La chiave sta in differenti punti!
Chiarito che cos’è il JSON, prima di addentrarci sul come funziona, cerchiamo di capire quali sono i principali motivi per cui si utilizzata.
- È meno “verboso”: questa parola tecnichese sta a significare che è molto meno lungo da scrivere ed è molto più compatto. Questo rende il JSON molto più leggibile di altri formati come l’XML e al contempo più leggero.
- È più veloce. I file JSON vanno ovviamente letti dal software è il processo di parsing, è molto più rapido rispetto ad altri formati. Per di più, rende più leggera l’esecuzione dei servizi web
- La maggior parte dei linguaggi lo integra di default: il formato JSON funziona molto bene con la quasi (direi ormai senza “quasi”) totalità dei linguaggi di programmazione disponibili a questo mondo!
… E non per nulla nel mio blog viene citato molto spesso, anzi: se fai un bel click qui potresti trovare qualcosa in merito che può tornarti utile! E a proposito di “tornare utile” torna qui poi!
Tutto molto bello, abbiamo visto i pro, ma quali mai saranno i contro del JSON?
- Supporta solamente testi e numeri. Se ad esempio volessi fornire tramite le tue API le foto dei tuoi gattini, non puoi farlo.
Sì, di per se altri contro significativi, io nel JSON non ne ho trovati. Chiarito questo, vediamo finalmente come funziona il JSON
JSON: chiarito che cos’è, come funziona nel dettaglio?
Il JSON ha determinate regole sintattiche.
- I dati sono scritti come coppia chiave-valore
- I dati sono separati da una virgola
- Le parentesi graffe contengono gli oggetti
- Le parentesi quadre contengono gli array
- Le stringhe vanno racchiuse con i doppi apici
Oltre a ciò, il JSON ha determinati tipi di dati, che sono:
- Stringhe
- Numeri
- Oggetti (di tipo JSON, ovvero una combinazione degli altri tipi)
- Array
- Booleani
- Null
Le stringhe in JSON: come sono fatte?
La coppia chiave-valore per esprimere una stringa è come segue:
{ "chiave" : "valore" }
Gli oggetti in JSON: come funzionano?
Come detto prima, gli oggetti JSON sono racchiusi dalle parentesi graffe. Di fatto, anche l’esempio di prima è un oggetto JSON!
Facciamo un esempio più complesso:
{ "nome": "Andrea", "età": 26, "automobile": "FIAT" }
Gli array in JSON: c’è spazio per loro?
Una volta capite le regole sintattiche, vediamo come scrivere un array in JSON:
{
"nome": "Andrea",
"età": 26,
"automobili": [ "Ford", "FIAT", Wolksvagen"]
}
Ora che abbiamo capito che cos’è il JSON e come funziona, non resta che utilizzarlo! 😀
2 commenti
Mi spiace per la mia ignoranza, ho capito qualcosa della tua spiegazione, ma non ne comprendo l’uso. La mia domanda è molto semplice e faccio un esempio. Ho fatto un takeout di google in formato zip. Apro le cartelle delle foto e accanto a tanti file JPG, ove riconosco le foto, ci sono una marea di file jison, A volte invece in qualche cartella di foto, ove mi aspetto di trovare foto, ci sono solo file jison, con estensione di di 1 KB. Che ne devo fare? li posso eliminare tout court? cosa perdo? e poi non capisco perchè google non mi sposti i file sul pc come voglio, ma mi traferisce solo una copia,, ma questo è un altro problema, anche se presumo che sia collegato al resto.
Se puoi rispondere ti sarei grato, sono un vecchio ingegnere in pensione che usa il PC per cose pratiche, ma informaticamente non vado molto avanti. Grazie
Ciao Andrea,
Grazie per il tuo commento. In questo caso con buona probabilità nel tentativo di scaricare le risorse hai scaricato dei riferimenti web che sono rappresentati nei file JSON che menzioni. Hai provato ad esplorarli? A vedere se in essi c’è il collegamento alle immagini che menzioni?
Un saluto,
Lorenzo