Le cose semplici vanno una spada: JSON

json Finalmente quacosa si muove!
Finalmente si può fare in modo che le applicazioni web non siano più macigni inusabili e lenti.
Finalmente si può fare a meno di framework che portano inevitabilmente ad un “effetto bradipo”.
Finalmente si possono mandare in pensione Struts e affini.
La soluzione esisteva da tempo… attendeva solo di essere utilizzata.
La soluzione è AJAX.

Ajax rende possibile molte cose interessanti ma lascio a chi legge scoprirle. Comunque, la caratteristica fondamentale è la possibilità di effettuare richieste HTTP senza aprire una nuova pagina.
In questo modo risulta possibile ricevere dati da una fonte senza dover eseguire un antiestetico ed inutile reload della pagina.
Una questione resta irrisolta: in che formato tali dati saranno restituiti al chiamante? XML? E’ una soluzione. Plain text? E’ un’altra possibilita. Ma con che formato? Non esiste uno standard.
E invece si, lo standard esiste ed è sfruttato appieno da JSON.
JSON consente lo scambio di dati in un formato che sfrutta lo standard Standard ECMA-262 e javascript. E’ possibile ricevere strutture dati anche complesse che siano facili da interpretare e performanti.
Facciamo un esempio. Supponiamo che la nostra applicazione debba prendere una lista di contatti dal server salvati in un database. Il nostro oggetto Contatto avrà due proprietà, nome e cognome e una lista di numeri di telefono.
Dalla nostra pagina HTML si effettua una chiamata HTTP tramite ajax al componente server(Servlet/JSP/CGI) che fornirà i dati, per esempio nel seguente modo:

[
{nome:Mario,cognome:Rossi,numeritelefonici:[3331111,3332222,3334444]},
{nome:Giovanni,cognome:Verdi,numeritelefonici:[061234567]}
]

Accidenti, e ora chi la parsa questa stringa? E qui viene il bello. La stringa è in formato standard ECMA che javascript è in grado di interpretare. Per esempio l’interprete sa che quello che c’è tra le {} rappresenta un oggetto e che avrà dei membri identificati tramite chiave:valore. Le [] invece identificano un array.
Quindi basterà utilizzare la funzione eval(strCodice) di javascript, che esegue il codice in strCodice e il gioco è fatto.

In pratica:
var oggettoJSON = [{“nome”:”Mario”,”cognome”:”Rossi”…];
var contatti = eval(‘(‘ + oggettoJSON + ‘)’); // contatti sarà un array di oggetti Contatto

Per motivi di spazio non posso continuare… spero di aver solleticato la vostra curiosità.
Per la serie: le cose semplici VANNO UNA SPADA!!!

3 thoughts on “Le cose semplici vanno una spada: JSON

  1. E dimenticavo anche di dirvi che il parse di una stringa JSON è 10 volte più veloce del parse di una stringa XML.

  2. FABIO!!

    Hai dimenticato di scrivere che lo stiamo pure gia’ utilizzando nella webmail! :+)

Lascia un commento