Tudo o que esta nesta pagina cabe intencionalmente em uma tela: a sintaxe de JSON e pequena o suficiente para que uma referencia completa nao precise ser longa. Leia aqui, ou baixe a mesma referencia como imagem para manter offline ou imprimir.

1. Estrutura
JSON e escrito como pares chave-valor dentro de um objeto ({ }) ou como uma
lista ordenada dentro de um array ([ ]). As chaves sao sempre strings. Os valores podem
ser uma string, numero, booleano, null, array ou outro objeto, aninhados tantos
nÃveis quanto os dados realmente precisam.
{
"name": "Ada",
"age": 36,
"active": true,
"skills": ["json", "css"],
"address": { "city": "London" },
"nickname": null
}
2. Regras de sintaxe
- Chaves e valores do tipo string usam aspas duplas. Aspas simples nao sao JSON valido.
- Dois-pontos separam cada chave do seu valor.
- Uma virgula separa os pares e os itens do array, sem nenhuma apos o ultimo.
- Arrays sao listas ordenadas, valores separados por virgulas.
- Nenhum comentario. JSON padrao nao tem sintaxe de comentarios, nem
//nem#.
3. Tipos de dados
| Tipo | Exemplo | Observacoes |
|---|---|---|
| String | "hello" |
Somente aspas duplas |
| Numero | 42, -3.14 |
Sem hexadecimal, sem NaN, sem zero a esquerda |
| Booleano | true, false |
Em minusculas, sem aspas |
| Null | null |
Em minusculas, sem aspas |
| Array | ["a", 1, true] |
Ordenado, tipos mistos permitidos |
| Objeto | {"key": "value"} |
As chaves sao sempre strings |
Tipos de dados JSON explicados analisa cada um de estes com os casos extremos que confundem analisadores.
4. Operacoes comuns (JavaScript)
JSON.parse(text) // string -> valor, lancar erro em JSON invalido
JSON.stringify(value) // valor -> string
JSON.stringify(value, null, 2) // impressao formatada, recuo de 2 espacos
value.key // ler uma chave apos analisar
value.nested.key // ler uma chave aninhada
5. Exemplos
Array de objetos
[
{ "id": 1, "name": "Ada" },
{ "id": 2, "name": "Linus" }
]
Objeto aninhado
{ "user": { "id": 1, "verified": true } }
Tipos mistos
{ "tags": ["a", "b"], "score": null, "live": false }
6. Praticas recomendadas
- Use nomes de chave significativos e consistentes.
- Mantenha as estruturas o mais planas que os dados permitirem razoavelmente.
- Valide o JSON antes de analisar uma entrada que voce nao gerou.
- Use arrays para listas, nao objetos com chaves que parecem numericas.
- Coloque aspas em inteiros grandes como strings se a precisao exata importar; um ID de
64 bits pode ser arredondado em um
JSON.parsenormal (veja Tipos de dados JSON). - Trate erros de analise explicitamente. Nunca assuma que uma entrada e JSON valido apenas porque normalmente e.
Proximos passos
- O que e JSON?, a versao para iniciantes desta pagina.
- JSON vs YAML e JSON vs XML, quando JSON nao e o formato certo.
- O Formatador JSON e o Validador JSON, para verificar um documento real em relacao a tudo acima.