JSON (JavaScript Object Notation) é o formato de dados mais usado na web moderna. APIs REST, arquivos de configuração, bancos de dados NoSQL e comunicação entre serviços — JSON está em toda parte. Saber formatar, validar e navegar por documentos JSON complexos é uma habilidade essencial para qualquer desenvolvedor.
O Que É JSON?
JSON é um formato leve de troca de dados. Apesar do nome incluir "JavaScript", JSON é independente de linguagem e é suportado nativamente por praticamente toda linguagem de programação moderna. A sintaxe é baseada em dois conceitos:
- Objetos: Coleções de pares chave-valor entre chaves
{}. - Arrays: Listas ordenadas de valores entre colchetes
[].
Os tipos de valor suportados são: strings (entre aspas duplas), números, booleanos (true/false), null, objetos e arrays.
Erros Comuns de Sintaxe JSON
JSON é rigoroso com a sintaxe. Erros que passam despercebidos em JavaScript causam falhas de parsing em JSON:
- Vírgula final:
{"a": 1,}— a vírgula após o último item é inválida em JSON. - Aspas simples:
{'nome': 'valor'}— JSON exige aspas duplas. - Comentários: JSON não suporta comentários de nenhum tipo (// ou /* */).
- Chaves sem aspas:
{nome: "valor"}— chaves devem estar entre aspas duplas. - Undefined:
{"a": undefined}— usenullem vez de undefined.
Formatando JSON no Código
JavaScript / Node.js
// Formatar com 2 espaços de indentação JSON.stringify(objeto, null, 2); // Minificar (remover espaços) JSON.stringify(objeto);
Python
import json
# Formatar com indentação
json.dumps(objeto, indent=2, ensure_ascii=False)
# Minificar
json.dumps(objeto, separators=(",", ":"))Linha de comando (jq)
# Formatar arquivo JSON cat dados.json | jq . # Extrair campo específico cat dados.json | jq '.usuarios[0].nome'
JSON em APIs REST
APIs REST modernas usam JSON como formato padrão para request e response bodies. Ao debugar APIs, é essencial poder visualizar respostas JSON de forma legível. Respostas minificadas de endpoints de produção podem ter milhares de caracteres em uma única linha, tornando impossível encontrar o dado que você procura sem formatação.
Ferramentas como nosso Visualizador JSON permitem colar a resposta da API, formatá-la instantaneamente, e navegar pela estrutura hierárquica com colapso de seções.
Formate e Valide JSON Online
Cole seu JSON e obtenha formatação instantânea com destaque de sintaxe, detecção de erros e visualização em árvore. Funciona offline, sem upload.
Abrir Visualizador JSONFrequently Asked Questions
Qual a diferença entre JSON e JavaScript?
JSON é um subconjunto da sintaxe de objetos JavaScript, mas com regras mais estritas. Em JavaScript, chaves podem ser sem aspas, valores podem ser funções, e vírgulas finais são aceitas. JSON exige aspas duplas em chaves e strings, não aceita funções, undefined ou vírgulas finais. Todo JSON válido é JavaScript válido, mas nem todo JavaScript é JSON válido.
JSON5 é a mesma coisa que JSON?
Não. JSON5 é uma extensão do JSON que permite aspas simples, comentários, vírgulas finais, chaves sem aspas e outros recursos. Apesar de mais flexível para configuração humana, JSON5 não é aceito onde JSON padrão é esperado (como APIs REST). Use JSON padrão para interoperabilidade e JSON5 apenas para arquivos de configuração quando a ferramenta suportar.
Devo minificar JSON em produção?
Para respostas de API transmitidas pela rede, minificar remove espaços desnecessários e reduz o tamanho do payload. Porém, a maioria dos servidores suporta compressão gzip ou Brotli, que reduz o tamanho do JSON em 80-90% independentemente da formatação. O maior ganho geralmente vem da compressão, não da minificação. Para arquivos de configuração e qualquer coisa que humanos leiam, sempre mantenha JSON formatado com indentação.