Conteúdo muito completo, JSON é sensacional e para mim é a cola que gruda grande parte da internet! 🤝
E gostaria de esclarecer uma confusão que eu fazia no passado (e as vezes faço até hoje), entre um JSON e um Objeto JavaScript.
Aspas duplas
No JavaScript, o código abaixo é válido:
{
nome: "Filipe",
sobrenome: "Deschamps"
}
Mas não confunda, isso é um JSON inválido! Olha só que interessante:
Então em um Objeto JavaScript, enquanto a chave
pode ser escrita sem aspas duplas, no JSON é mandatório você colocar as aspas. Usando novamente o exemplo acima e transformando ele num JSON válido:
{
"nome": "Filipe",
"sobrenome": "Deschamps"
}
E este JSON também é um Objeto JavaScript válido.
Eu trouxe isso para cá, porque muitas vezes no passado em clients REST como o Postman, Insomnia ou Thunder Client, eu começava a digitar um objeto sem as aspas e me confundia um pouco porque o client estava reclamando e apontando como um JSON inválido:
Dangling comma
Outra confusão nisso é um JSON com Dangling Comma, que é manter uma vírgula ,
adicional na última linha. Então voltando ao mesmo exemplo, eu adicionei uma vírgula na última linha e isso é um Objeto JavaScript válido:
{
"nome": "Filipe",
"sobrenome": "Deschamps",
}
Porém é um JSON inválido! Nota que o Thunder Client reclama que a linha 4 é inválida, isso por conta da linha 3 estar sendo finalizada com um caracter que faz esperar outra coisa na linha 4 (faz esperar um novo par de "chave"
e algum valor):
Espero ter contribuído um pouco com essa publicação que já foi sensacional de largada e eu fico especialmente feliz poder publicar coisas assim num espaço que está se tornando tão massa 🤝 👍