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-&gt;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-&gt;decode($input);
echo $value-&gt;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

2 commenti

Rispondi

Attenzione : Per inserire codice html/php o caratteri speciali utilizza Postable. Postable converte i caratteri speciali del tuo commento.
XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>