Você está na página 1de 5

Introduo ao JSON

object

string
{}

members }
members
pair
pair , members
pair
string : value
array

""

[]

elements ]
elements
value
value , elements
value
string
number
object
array
[

true
false
null

"

chars "

chars
char
char chars
char
any-Unicode-characterexcept-"-or-\-orcontrol-character
\"
\\
\/
\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
digit digits
e
e
e+
eE
E+
E-

JSON (JavaScript Object Notation - Notao de Objetos JavaScript) uma


formatao leve de troca de dados. Para seres humanos, fcil de ler e escrever.
Para mquinas, fcil de interpretar e gerar. Est baseado em um subconjunto
da linguagem de programao JavaScript, Standard ECMA-262 3a Edio
-Dezembro - 1999. JSON em formato texto e completamente independente de
linguagem, pois usa convenes que so familiares s linguagens C e familiares,
incluindo C++, C#, Java, JavaScript, Perl, Python e muitas outras. Estas
propriedades fazem com que JSON seja um formato ideal de troca de dados.
JSON est constitudo em duas estruturas:
Uma coleo de pares nome/valor. Em vrias linguagens, isto caracterizado
como um object, record, struct, dicionrio, hash table, keyed list, ou arrays
associativas.
Uma lista ordenada de valores. Na maioria das linguagens, isto
caracterizado como uma array, vetor, lista ou sequncia.
Estas so estruturas de dados universais. Virtualmente todas as linguagens de
programao modernas as suportam, de uma forma ou de outra. aceitavel que um
formato de troca de dados que seja independente de linguagem de programao se
baseie nestas estruturas.
Em JSON, os dados so apresentados desta forma:
Um objeto um conjunto desordenado de pares nome/valor. Um objeto comea
com { (chave de abertura) e termina com } (chave de fechamento). Cada nome
seguido por : (dois pontos) e os pares nome/valor so seguidos por , (vrgula).

Uma array uma coleo de valores ordenados. O array comea


com [ (conchete de abertura) e termina com ] (conchete de fechamento). Os
valores so separados por , (vrgula).

Um valor (value, na imagem acima) pode ser uma cadeia de


caracteres (string), ou um nmero, ou true ou false, ou null, ou um
objeto ou uma array. Estas estruturas podem estar aninhadas.

Uma string uma coleo de nenhum ou mais caracteres


Unicode, envolvido entre aspas duplas usando barras invertidas
como caractere de escape. Um caractere est representando
como um simples caractere de string. Uma cadeia de caracteres
parecida com uma cadeia de caracteres em C ou Java.

Um nmero similar a um nmero em C ou Java, exceto quando


no se usa os nmeros octais ou hexadecimais.

Espaos em branco podem ser inseridos em qualquer parte dos


smbolos. Exceto pequenos detalhes de codificao, a linguagem
completamente descrita.