Uma mensagem JSON consiste em pares nome-valor (objetos) e coletas ordenadas de valores (matrizes). Objetos, matrizes ou ambas as estruturas podem ser aninhadas.
Para obter informações mais detalhadas sobre JSON, consulte o Web site JavaScript Object Notation (JSON).
Em uma mensagem JSON, um objeto é um conjunto não ordenado de pares nome-valor separados por vírgula que começa com uma chave de abertura ({) e termina com uma chave de fechamento (}). Cada nome é seguido por dois-pontos (:).
Objeto JSON .-,--------------------. V | >>---{--------string--:--value---+----}------------------------><
Uma matriz JSON é uma coleta ordenada de valores separados por vírgula que começa com colchete de abertura ([) e termina com colchete de fechamento (]).
Matriz JSON .-,---------. V | >>---[--------value---+----]-----------------------------------><
Valor JSON >>-+-string-+-------------------------------------------------->< +-number-+ +-object-+ +-array--+ +-true---+ +-false--+ '-null---'
Uma sequência JSON é muito semelhante a uma sequência C ou Java™. Cadeia é uma coleta de zero ou mais caracteres Unicode, agrupados entre aspas, usando escapes de barra invertida. Um caractere é representado como uma cadeia de caractere único.
Cadeia JSON >>---"----------------------------------------------------------> >--+-----------------------------------------------------------------------+--> +-Qualquer caractere UNICODE, exceto " ou \ ou um caractere de controle-+ '-+-----------------------------------+---------------------------------' +-\---------------------------------+ '-+-“ (aspas)---------------------+-' +-\\ (barra invertida)----------+ +-/ (barra)---------------------+ +-b (backspace)-----------------+ +-f (alimentação de formulário)-+ +-n (nova linha)----------------+ +-r (retorno de linha)----------+ +-t (tabulação horizontal)------+ '-u (4 dígitos hexadecimais)----' >----"---------------------------------------------------------><
Um número JSON é igual a um número C ou Java, exceto que os formatos octal e hexadecimal não são usados.
Número JSON .---------------. V | >>-+---+----+-0---------+-+--+-------------------+--------------> '-−-' '-digit 1-9-' +-−-----------------+ | .---------------. | | V | | '-----digit 0-9---+-' >--+-------------------+--------------------------------------->< +-e-----------------+ +-E-----------------+ +-+-+-+-------------+ | '-−-' | | .---------------. | | V | | '-----digit 0-9---+-'
Espaço em branco pode ser inserido entre qualquer par de tokens.