Como formatar e validar JSON
Deixe um JSON ilegível legível, encontre a linha exata de um erro de sintaxe e corrija os erros mais comuns.
4 min de leitura
JSON está em todo lugar: respostas de API, arquivos de configuração, exportações de aplicativos, linhas de log. As máquinas costumam escrevê-lo numa única linha comprida e sem espaços, o que é eficiente, mas impossível de ler. Além disso, o JSON é rígido: uma vírgula a menos ou a mais invalida tudo. Formatar resolve o primeiro problema e validar resolve o segundo.
O que é formatar, minificar e validar
- Formatar (ou indentar) acrescenta quebras de linha e recuo, para que cada chave fique na sua própria linha e a estrutura aninhada apareça de relance.
- Minificar faz o contrário: remove todos os espaços desnecessários para deixar os dados o menor possível, por exemplo antes de colá-los numa variável de configuração.
- Validar é conferir se o texto segue as regras do JSON. Como o formatador precisa interpretar os dados antes, ele valida de quebra.
Como formatar JSON no QodeCat
O formatador e validador de JSON roda inteiro no seu navegador. Você pode colar respostas de API com tokens ou dados de clientes sem que nada seja enviado.
- Cole o JSON em Entrada bruta ou clique em Enviar arquivo para abrir um arquivo .json. Arquivos abertos assim são formatados na hora.
- Clique em Formatar para indentar os dados com dois espaços, ou em Minificar para deixar tudo numa linha. O resultado substitui a sua entrada e aparece à direita com destaque de sintaxe e a marca Válido.
- A barra de ferramentas mostra o tamanho dos dados e quantas chaves existem no primeiro nível.
- Use os botões de copiar e baixar para levar o resultado. O arquivo baixado se chama formatted_data.json.
Se o JSON estiver com erro, aparece um aviso de JSON inválido com a mensagem do seu navegador, e a sua entrada continua como estava para você corrigir.
Como ler a mensagem de erro
A mensagem vem do navegador e geralmente está em inglês. Algo como Expected double-quoted property name in JSON at position 12 (line 3 column 1) mostra onde o interpretador parou, e nem sempre onde está o erro. Neste exemplo, o problema real é uma vírgula sobrando no fim da linha 2: o interpretador só percebe ao chegar na chave de fechamento. Olhe o ponto indicado e o caractere logo antes dele.
Os erros que mais quebram um JSON
- Vírgula no final: {"a": 1,} ou [1, 2,]. JavaScript aceita, JSON não.
- Aspas simples: {'nome': 'Ada'}. Chaves e textos precisam de aspas duplas.
- Chaves sem aspas: {nome: "Ada"}. Toda chave tem de ser um texto entre aspas duplas.
- Vírgula faltando entre itens, comum depois de juntar linhas copiadas de lugares diferentes.
- Comentários (// ou /* */). O JSON padrão não tem comentários; apague-os.
- Valores que só existem em JavaScript: undefined, NaN, Infinity ou funções.
- Aspas curvas (“ ”) coladas de um editor de texto ou do WhatsApp no lugar das aspas retas.
Três coisas para saber antes de reformatar
- Chaves duplicadas são unidas sem aviso. Se um objeto tem a mesma chave duas vezes, só o último valor sobra depois de formatar.
- Inteiros muito grandes perdem precisão. Números acima de 9.007.199.254.740.991, como alguns IDs de 64 bits, são arredondados: 12345678901234567890 vira 12345678901234567000. Guarde esses IDs como texto.
- Chaves que parecem números inteiros vão para o começo. Em {"b": 1, "2": 0}, a chave "2" aparece primeiro depois de formatar. As demais mantêm a ordem.
Para tarefas parecidas: converta planilhas com CSV para JSON, troque o formato de configuração com YAML ↔ JSON ou gere tipos a partir de um exemplo com JSON para TypeScript.
Perguntas frequentes
Formatar altera os meus dados?
Normalmente só os espaços mudam. Chaves e valores continuam iguais, com as três exceções acima: chaves duplicadas, inteiros grandes demais para JavaScript e chaves numéricas que vão para o começo.
Dá para formatar JSON com comentários?
Não diretamente. Comentários não são JSON válido, então o validador vai acusar erro. Apague-os primeiro e depois formate.