json

In questa lezione tratteremo dell’argomento JSON in abmito informatica. Partendo dal nome che altro è che l’acronomico di Java Script Object Notation da cui appunto la sigla JSON. Qualcuno lo chiama linguaggio di programmazione vero e proprio altri formato di scambio dati. In ogni modo trovo la sua applicazione nelle applicazioni client server.

Il formato si fa risalire al 1999 ma solo come strumento didattico ed estensione di javascript. Il suo utilizzo ha iniziato a prendere campo dal 2006 in poi con l’avvento di Ajax.

Il punto di forza di JSON è sicuramente dovuto alla sua semplicità di utilizzo.

Formato JSON per applicazioni client server

json

Il formato supporta i seguenti tipi di dato

  • boolean
  • interger, real , double
  • stringhe da racchidere tra gli apici ” del js
  • array separati da []
  • array associativi.

Ad oggi il JSON viene utilizzato e letto dai principali linguaggi di programmazione come ActionScript, C, C++, C #, Adobe, Ruby, Js, Java, Pyyhon, Lua , ML, Delphi, ColdFusion etc.

Tutti questi linguaggi contengono ad oggi nelle loro librerie metodi per fare il parsing di un file json un esempio in javascript potrebbe essere.

var the_object;
 var http_request = new XMLHttpRequest(); //Chiamata all'oggetto DOM AJAX
 http_request.open("GET", url, true); // richiesta HTTP

// chiamata dell'oggetto XMLHttpRequest() per verificarese la risposta è arrivata ed è corretta
 http_request.onreadystatechange = function () {

if (http_request.readyState == 4) {

if (http_request.status == 200) {
 // parsing del file json ricevuto
 the_object = JSON.parse(http_request.responseText);
 } else {

alert("Errore ricontrollare URL dato non ricevuto");
 }
 }
 };

http_request.send(null);

Ovviamente ho fatto ampio utilizzo di Ajax perchè come vi ho detto all’inizio il tutto è proprio iniziato da qui. Nel caso leggetevi la guida Ajax.

Esempio JSON

Sorpa abbiamo visto il parser di un file json. Ossia nel caso specifico come fa il Javascript a leggerlo. Vediamo ora un possibile esempio che potrebbe essere

{
 "type": "menu",
 "value": "File",
 "items": [
 {"value": "New", "action": "CreateNewDoc"},
 {"value": "Open", "action": "OpenDoc"},
 {"value": "Close", "action": "CloseDoc"}
 ]
 }

Ovviamente va salvato con estensione json.