Json è un formato di testo indipendente dal linguaggio che usa convenzioni simili a quelle della famiglia dei linguaggi C.
Si basa su due strutture di dati supportate praticamente da tutti i linguaggi di programmazione moderni:
• una raccolta di coppie nome/valore [oggetti, record, dizionari...]
• una raccolta ordinata di valori [array...]
Inoltre Json è basato su un sottoinsieme di Javascript Standard, quindi non ci dovrebbero essere problemi di compatibilità con i vari browser.
Oggetto json
insieme ordinato di coppie nome/valore. inizia e termina con una parentesi graffa{};
Array Json
raccolta ordinata di valori che inizia e termina con le parentesi quadre [];
Valore Json
Vengono separati da una virgola e possono essere: Stringa, numero, true e false, oggetto, array, null
In particolare il vanto di Json è di essere un formato di scambio molto più leggero di xml.
Esempio di utilizzo Json
File Json
json.js
File html con i form da cui far partire il nostro esempio
json_first.html
function doJSON() {
var user = getUserObject();
var userAsJSON = JSON.stringify(user);
alert("ecco l'oggetto User di Json :\n " + userAsJSON);
var url = "json_first.php?timeStamp=" + new Date().getTime();
var postVar= 'user_data='+encodeURIComponent(userAsJSON);
createXMLHttpRequest();
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(postVar);
}
La funzione crea un oggetto User con i valori della form,
function getUserObject() {
return new User(document.dati.username.value, document.dati.mail.value);
}
function User(username, mail) {
this.username = username;
this.mail = mail;
}
e lo invia via Post in formato Json al server sotto forma d querystring:
Ecco il post della pagina:
user_data {”username”:”bonzo”,”mail”:”ilbonzo.org@gmail.com”}
La pagina php processa i dati e li rimanda alla prima pagina
json_first.php
$jsonString= stripslashes($_POST['user_data']);
var_dump(json_decode($jsonString));
$jsonPost=json_decode($jsonString);
echo 'username: ';
echo $jsonPost->username;
echo ' mail: ';
echo $jsonPost->mail;
L’esempio è molto semplice, ma serve solo per capire le potenzialità di Json e Ajax.
Scarica esempio
Nota:
Json su PHP si può usare dalla versione 5.2, prima serviva il repository PECL.
Gabba Gabba Hey
Bonzo

Social