[JS] Cos'è JSON?

Javascript, Ajax, Prototype sono tutti argomenti nuovi e interessantissimi per me e devo colmare questi vuoti per riuscire a capire e a contribuire allo sviluppo di Visual Path.
Nel leggere il tutorial di Prototype mi sono imbattutto per l'ennesima volta sull'acronimo JSON e per quel che ne sapevo, costituisce una particolare notazione usata per lo scambio di dati. Vediamo di approfondire un po'.

Definizione e descrizione

JSON (JavaScript Object Notation) è un formato leggero per lo scambio di dati, di facile lettura ed interpretazione sia per gli uomini sia per i computer.
E' basato su un sottoinsieme di Javascript.
JSON è un formato testuale completamente indipendente dal tipo di linguaggio utilizzato anche se utilizza convenzioni sintattiche familiari ai programmatori C++, Java e Javascript.

JSON è basato su due strutture:

  • Una collezione di coppie nome/valore. In vari linguaggi ciò viene realizzato come un oggetto, un array, un hash table e così via.
  • Una lista ordinata di valori, che nei vari linguaggi si realizza con un array, un vettore, una sequenza e così via.

In JSON:

  • un oggetto è un set di coppie nome/valore non ordinato. Tale oggetto viene definito all'interno di parentesi graffe, in cui ogni nome viene seguito da i due punti mentre le coppie nome/valore sono separate da virgole.
  • un array è ordinato come una collezione ordinata di valori. Il suo contenuto viene definito fra parentesi quadre dove i valori vengono separati da una virgola;
  • Un valore può essere una stringa fra virgolette, un numero, un valore booleano, null o un oggetto. Queste strutture possono essere innestate.
  • Una stringa è una collezione di zero o più caratteri Unicode, racchiusi fra virgolette, in cui si utilizzano i backslash come caratteri di escape.
Fonte: www.json.org

JSON e PHP



Ecco un esempio di script che sfrutta la funzione json_encode, disponibile di default dalla versione 5.2 di PHP.


/* JSON: ritorno rappresentazioni */

class foo {
private $a;
public $b = 1;
public $c;
private $d;
static $e;

public function test() {
// http://it2.php.net/manual/en/function.get-object-vars.php
var_dump(get_object_vars($this));
}
}

$test = new foo;
echo "Oggetto: ".json_encode($test)."
";
// un oggetto -> {"b":1,"c":null} si noti che le variabili private e // statiche non vengono codificate

0 comments:

Byte Strike Blog - Designed by Posicionamiento Web | Bloggerized by GosuBlogger