O que é JSON
Quando seu app faz uma pergunta a uma , a resposta volta como texto em um formato chamado . Ele se tornou o padrão porque é legível por humanos e fácil de os programas manipularem. Você vai vê-lo o tempo todo, então vale a pena saber ler.
JSON é construído a partir de chaves e valores (keys e values). Uma chave é um rótulo entre aspas; um valor é o dado associado a ela. Aqui está um exemplo real descrevendo um usuário:
{
"id": 42,
"name": "Ada Lovelace",
"email": "[email protected]",
"isAdmin": false,
"loginCount": 137,
"tags": ["beta", "early-access"],
"profile": {
"city": "London",
"avatarUrl": null
}
}
Leia como um formulário que alguém preencheu. "name" é um campo, "Ada Lovelace" é o que a pessoa escreveu nele. Duas estruturas fazem todo o trabalho:
- Um objeto é envolvido por chaves
{ }. É um pacote de pares chave/valor — como um único registro. Todo o exemplo acima é um objeto. - Um array é envolvido por colchetes
[ ]. É uma lista ordenada de valores. Acima,"tags"contém um array com duas strings.
Repare que "profile" é um objeto dentro do objeto. JSON permite aninhamento — um valor pode ser, ele mesmo, um objeto ou um array, tão profundo quanto necessário. É assim que uma única resposta pode descrever um usuário, o endereço dele e seus últimos dez pedidos, tudo de uma vez.
Desenhado como uma árvore, o mesmo objeto de usuário mostra sua forma de relance — campos simples no topo, uma lista e um objeto aninhado se ramificando:
{ } user (object)
├── id .......... 42 (number)
├── name ........ "Ada Lovelace" (string)
├── isAdmin ..... false (boolean)
├── tags ........ [ ] (array)
│ ├── "beta"
│ └── "early-access"
└── profile ..... { } (object)
├── city ...... "London" (string)
└── avatarUrl . null (null = no value)