JSON – introduzione e approfondimento
6 giugno 2007
JSON (JavaScript Object Notation) è un formato adatto per lo scambio dei dati in applicazioni client-server.
La semplicità di JSON ne ha decretato un rapido utilizzo specialmente nella programmazione in AJAX. Il suo uso tramite JavaScript, è particolarmente semplice, infatti l’interprete è in grado di eseguirne il parsing tramite una semplice chiamata alla funzione eval().
I tipi di dati supportati da questo formato sono: (booleani; interi, reali, virgola mobile;stringhe;array; oggetti (coppie chiave-valore); null)
Esempio di oggetto JSON:
{
"nome" : "Franco",
"cognome" : "Esposito",
"anni" : 32,
"telefono": ["344/313131","233/112233"]
}
Utilizzo in javascript:
var JSON= {cognome: "Esposito"; telefono: ["344/313131","233/112233"] }
var dati = eval("(" + JSON + ")");
alert( 'Nome: '+dati.cognome+' Cellulare: '+dati.telefono[1]);
Riga 1: Creazione dell’oggetto JSON
Riga 2: Parsing dell’oggetto JSON per renderlo accessibile in javascript
Riga 3: Utilizzo dei dati contenuti nell’oggetto JSON
Usare JSON con AJAX
var ajax= new XMLHttpRequest();
ajax.open("GET", "<a href="http://www.ilmiosito.it/JSONdati.txt" title="Linkification: http://www.ilmiosito.it/JSONdati.txt" class="linkification-ext">http://www.ilmiosito.it/JSONdati.txt</a>", true);
ajax.onreadystatechange = function () {
if ((ajax.readyState==4) and (ajax.status== 00)){
var dati= eval("(" + ajax.responseText + ")");
//.. operazione sulla variabile dati ..
}
else alert("Errore: C'è un problema nel ricevere i dati.");
};
ajax.send(null);
Riga 1: creazione dell’oggetto ajax tramite XMLHttpRequest
Riga 2: Richiesta del file dati (json) tramite ajax , può essere uno script php o un file testo qualsiasi
Riga 3: Funzione da eseguire quando i dati sono pronti
Riga 4: Se l’operazione è stata completata con successo (readyState=4)
Riga 5: memorizziamo i dati nella variabile dati
Riga 8: altrimenti viene visualizzato un messaggio di errore
Riga 10: Esecuzione della richiesta AJAX.
La maggior parte dei linguaggi di programmazione possiede un typesystem molto simile a quello definito da JSON per cui sono nati molto progetti che permettono l’utilizzo di JSON con altri linguaggi quali, per esempio: ActionScript, C, C#, Delphi, Java, JavaScript, Lua, Perl, PHP, Python, Ruby.
Approfondimenti : Json.org
Usare JSON con PHP
Ecco alcuni esempi che utilizzano la liberia JSON.php.
Creazione di un ‘oggetto’ JSON :
require_once('JSON.php');
$json = new Services_JSON();
$value = array(10, 'gennaro', 'varriale');
$output= $json->encode($value);
echo $output ; // visualizza [10,'gennaro','varriale']
[/PHP]
<strong><span style="font-style: italic">Riga 1:</span> </strong>caricamento della libreria JSON.php
<strong style="font-style: italic">Riga 2:</strong> crezione dell'istanza
<strong style="font-style: italic">Riga 3:</strong><span style="font-style: italic"> </span>creazione di un array php da convertire in JSON
<strong style="font-style: italic">Riga 4:</strong> chiamata del metodo <span style="font-weight: bold">encode </span>per creare " l'oggetto " JSON
Lettura di un 'oggetto' JSON
[php]
require_once('JSON.php');
$json = new Services_JSON();
$input = "{ id:10, nome:'gennaro', racconti:['un eroe','indeciso'] , nascita:'23/5/1973' }";
$value = $json->decode($input);
echo $value->nome; // visualizza 'gennaro'
Riga 1: caricamento della libreria JSON.php
Riga 2: crezione dell’istanza
Riga 3: stringa php contente l’oggetto JSON.
Riga 4: chiamata del metodo decode per caricare ” l’oggetto ” JSON in PHP










grazie ottimo tutorial… ne avevo proprio bisogno!
ciao
di nulla!