Desenvolvimento 6 min de leitura
Se você já trabalhou com uma API, um arquivo de configuração ou uma exportação de dados, já esbarrou em JSON. Ele parece simples, mas uma única vírgula fora do lugar deixa o arquivo inteiro inválido e gera uma mensagem de erro enigmática.
Neste guia você vai aprender o que é JSON, quais tipos de valor ele aceita, as regras de sintaxe, os erros mais comuns com exemplos de antes e depois e como validar, formatar e minificar seus dados em segundos.
Valide e formate seu JSON agora Cole seu JSON para encontrar erros, formatar ou minificar. Tudo roda no seu navegador e nada é enviado. Abrir o formatador de JSONO que é JSON?
JSON (JavaScript Object Notation) é um formato de texto leve para armazenar e trocar dados. Os dados são organizados em pares de chave e valor, por exemplo {"nome": "Ana", "idade": 30}. É fácil de ler para pessoas e fácil de interpretar para programas.
Apesar de ter nascido no JavaScript, o JSON não depende de linguagem. É o padrão usado pelas APIs web para enviar dados entre servidores e aplicativos, e também é muito comum em arquivos de configuração, logs e exportações.
Os seis tipos de valor
Todo valor em JSON é de um destes seis tipos:
- String: texto entre aspas duplas, como "olá".
- Número: inteiro ou decimal, como 42 ou 3.14, sem aspas.
- Booleano: true ou false, em minúsculas e sem aspas.
- Nulo: a palavra null, que significa "sem valor".
- Array: lista ordenada entre colchetes, como [1, 2, 3].
- Objeto: conjunto de pares chave e valor entre chaves, como {"cidade": "Recife"}. As chaves são sempre strings.
Arrays e objetos podem conter outros arrays e objetos, então dá para descrever dados com qualquer profundidade.
As regras de sintaxe que você precisa lembrar
O JSON é bem mais rígido que o JavaScript. A maioria dos erros vem de quebrar uma destas regras:
- Strings e chaves precisam de aspas duplas. Aspas simples não são permitidas.
- Sem vírgula no final: o último item de um array ou objeto não pode ter vírgula depois.
- Sem comentários: nem // nem /* */ são válidos.
- Existem só os seis tipos: undefined, NaN, Infinity e funções não são válidos.
- Os pares são separados por vírgula, e a chave é separada do valor por dois-pontos.
- Toda chave ou colchete aberto precisa ter o seu fechamento.
Os erros mais comuns e como corrigir
Estes cinco deslizes causam a grande maioria das mensagens de "JSON inválido":
- Vírgula sobrando. Antes: {"a": 1, "b": 2,}. Depois: {"a": 1, "b": 2}. Remova a vírgula depois do último item.
- Aspas simples. Antes: {'nome': 'Ana'}. Depois: {"nome": "Ana"}. Troque todas as aspas simples por aspas duplas.
- Chave sem aspas. Antes: {nome: "Ana"}. Depois: {"nome": "Ana"}. Coloque todas as chaves entre aspas duplas.
- Colchete ou chave faltando. Antes: {"itens": [1, 2, 3}. Depois: {"itens": [1, 2, 3]}. Feche todo array e objeto que você abrir.
- Escape errado de aspas. Antes: {"texto": "Ele disse "oi""}. Depois: {"texto": "Ele disse \"oi\""}. Aspas duplas dentro de uma string precisam de uma barra invertida. O mesmo vale para a própria barra invertida, escrita \\.
Cuidado também com aspas "inteligentes" coladas de editores de texto: parecem aspas, mas não são válidas em JSON.
Como ler a mensagem de erro do JSON
A maioria dos interpretadores diz onde se perdeu, com mensagens como "Unexpected token } in JSON at position 25" ou "Expected double-quoted property name at line 3 column 5". A posição é a contagem de caracteres desde o início, enquanto linha e coluna apontam o ponto exato.
O erro de verdade costuma estar um pouco antes da posição informada. Uma chave de fechamento inesperada geralmente indica uma vírgula sobrando logo antes dela, e um fim de dados inesperado indica um colchete que não foi fechado. Olhe a linha informada e a de cima.
Como validar, formatar e minificar JSON
- Abra o formatador de JSON gratuito. Ele roda inteiro no seu navegador, então seus dados não saem do seu dispositivo.
- Cole o seu JSON. Se ele for inválido, a ferramenta mostra o erro com linha e coluna para você corrigir.
- Use a formatação para indentar e deixar legível, ou minifique para remover espaços e reduzir o tamanho antes de enviar.
- Copie o resultado. Se alterou um arquivo e quer ver exatamente o que mudou, compare as duas versões com a ferramenta de diferença de texto.
JSON vs XML vs YAML
O XML é mais verboso, com tags de abertura e fechamento, mas aceita atributos e ainda é comum em sistemas antigos. O YAML é mais limpo para humanos e permite comentários, por isso é popular em arquivos de configuração, mas a indentação é fácil de errar.
O JSON fica no meio-termo: compacto, sem ambiguidade e aceito por praticamente qualquer linguagem, o que o torna a escolha padrão para APIs. Sua principal desvantagem é a falta de comentários.
Dicas práticas
- Sempre valide o JSON antes de enviá-lo ou salvá-lo em um arquivo de configuração.
- Use um editor com destaque de sintaxe para JSON, que mostra aspas e colchetes desbalanceados na hora.
- Não escreva JSON à mão quando puder gerá-lo por código: as bibliotecas fazem o escape correto dos caracteres.
- Se um parâmetro de URL carrega JSON, codifique-o antes com o codificador de URL para que caracteres especiais não quebrem a requisição.
- Nunca coloque senhas ou tokens em JSON colado em ferramentas online que enviam os dados. Prefira ferramentas que funcionam localmente.
Conclusão
O JSON é simples quando você conhece as regras: seis tipos de valor, aspas duplas, sem vírgula sobrando e sem comentários. Quando algo quebrar, leia a linha e a coluna do erro, confira o ponto logo antes e deixe um validador fazer o trabalho pesado. Poucos segundos em um formatador economizam muito tempo de depuração.
Perguntas frequentes
Para que serve o JSON?
Serve para trocar dados entre aplicações, principalmente APIs web, e para guardar configurações e dados estruturados em arquivos. Quase toda linguagem de programação consegue ler e escrever JSON.
O JSON pode ter comentários?
Não. O JSON padrão não permite comentários. Se precisar de anotações, use um campo comum como "comentario" ou um formato como YAML para arquivos de configuração.
Por que meu JSON mostra "unexpected token"?
O interpretador encontrou um caractere inesperado, geralmente uma vírgula sobrando, aspas simples, chave sem aspas ou colchete faltando. Verifique a posição informada e a linha logo acima.
Qual a diferença entre formatar e minificar JSON?
Formatar adiciona quebras de linha e indentação para facilitar a leitura. Minificar remove todos os espaços desnecessários para deixar o arquivo menor. Os dados continuam exatamente os mesmos.
É seguro usar um formatador de JSON online?
É seguro quando a ferramenta funciona no navegador e não envia o conteúdo a um servidor. Nosso formatador de JSON processa tudo localmente no seu dispositivo.
Ferramentas grátis citadas neste artigo
Continue lendo
- Como Criar uma Senha ForteTamanho, aleatoriedade e unicidade: as regras simples que realmente protegem suas contas, e como segui-las sem precisar decorar nada.
- Técnica Pomodoro: guia completoTrabalhe em blocos de 25 minutos de foco com pausas curtas. Veja como o método funciona, como começar hoje e como adaptá-lo à sua rotina.
- O que é um hash? MD5, SHA-256 e para que servemUm hash é uma impressão digital curta de qualquer dado. Veja como funciona, quais algoritmos usar e como verificar arquivos e proteger senhas.