Personal tools
You are here: Home JSON
Document Actions

Introduzione a JSON

by Chiara Balpo last modified 2006-04-27 11:20

JSON (JavaScript Object Notation) è un semplice formato per lo scambio di dati. Per gli umani è facile da leggere e scrivere, mentre per le macchine risulta facile generare e analizzare la sintassi. Si basa su un sottoinsieme del JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999.
JSON è un formato di testo completamente indipendente da linguaggio ma utilizza convenzioni conosciute dai programmatori di linguaggi della famiglia di C, come C, C++, C#, Java, JavaScript, Perl, Python, e molti altri. Queste proprietà fanno di JSON un linguaggio ideale per lo scambio di dati.

object
{}
{ members }

members
string : value
members , string : value
array
[]
[ elements ]
elements
value
elements , value
value
string
number
object
array
true
false
null

string
""
" chars "
chars
char
chars char
char
any-Unicode-except-"-or-\-or-control
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits
number
int
int frac
int exp
int frac exp
int
digit
digit1-9 digits
- digit
- digit1-9 digits
frac
. digits
exp
e digits
digits
digit
digits digit
e
e
e+
e-
E
E+
E-

JSON è costruito su due strutture:

  • Una raccolta di coppie nome/valore. In diversi linguaggi, questo è realizzato come un oggetto, un record, uno struct, un dizionario, una tabella hash, un elenco di chiavi o un array associativo.
  • Un elenco di valori. Nella maggior parte dei linguaggi, questo si realizza con un array, un vettore, un elenco o una sequenza.


Queste sono strutture di dati universali. Virtualmente tutti i linguaggi di programmazione moderni li supportano in entrambe le forme. E' sensato che un formato di dati che è interscambiabile con linguaggi di programmazione debba essere basato su queste strutture.

In JSON, assumono queste forme:

  • Un oggetto è una serie non ordinata di nomi/valori. Un oggetto inizia con { (parentesi graffa sinistra) e finisce con } (parentesi graffa destra). Ogni nome è seguito da : (due punti) e la coppia di nomw/valore è separata da , (virgola).
  • Un array è una raccolta ordinata di valori. Un array comincia con [ (parentesi quadra sinistra) e finisce con ] (parentesi quadra destra). I valori sono separati da , (virgola).
  • Un valore può essere una stringa tra virgolette, o un numero, o vero o falso o nullo, o un oggetto o un array. Queste strutture possono essere annidate.
  • Una stringa è una raccolta di zero o più caratteri Unicode, tra virgolette, usando la barra rovesciata. Un carattere è rappresentato come una singola stringa di caratteri


A parte alcuni dettagli di codificazione, questo descrive totalmente il linguaggio.

Una stringa è molto simile ad una stringa C o Java. Un numero è molto simile ad un numero C o Java, a parte il fatto che i formati ottali e esadecimali non sono usati.



Gli spazi possono essere inseriti in mezzo a qualsiasi coppia di token.


Link sponsorizzati
Logo Redomino Iscrizione corsi Plone