Lição 4
Objetos e arrays
Estruturas aninhadas, nomes de chaves e modelagem de dados reais.
A maioria dos documentos JSON reais combina objetos e arrays para representar entidades e coleções. Definir formas claras torna APIs e configs mais fáceis de consumir.
Objetos como registros
Um objeto costuma modelar uma coisa — um usuário, um pedido, um bloco de configurações:
{
"userId": "u_42",
"email": "[email protected]",
"preferences": {
"theme": "dark",
"notifications": true
}
}
Objetos aninhados agrupam campos relacionados sem achatar nomes como preferences_theme.
Arrays como listas
Arrays modelam coleções ordenadas: tags, itens de linha, resultados de busca:
{
"tags": ["json", "api", "tutorial"],
"items": [
{ "sku": "A1", "qty": 2 },
{ "sku": "B3", "qty": 1 }
]
}
Convenções de nomes de chaves
Chaves JSON são sensíveis a maiúsculas e minúsculas. Estilos comuns:
- camelCase —
firstName(típico em APIs JavaScript) - snake_case —
first_name(comum em backends Python/Ruby) - kebab-case — raro dentro de chaves porque
-é menos; em geral evitado
Escolha um estilo por API e mantenha consistência.
Estruturas vazias
Ambas são válidas e significam coisas diferentes:
{ "list": [] }
{ "list": {} }
[] é um array vazio; {} é um objeto vazio. Não troque um pelo outro a menos que seu schema permita ambos.
Profundidade e legibilidade
Aninhamento profundo (a.b.c.d.e) espelha os dados, mas prejudica a legibilidade. Muitas equipes achatam com nomes de chaves claros ou paginam arrays grandes. Ao ler JSON desconhecido, comece no nível superior, expanda um objeto ou array por vez e observe padrões repetidos — é assim que a maioria dos payloads de API é desenhada.