Pular para o conteúdo

Formatador de JSON

Cole um JSON e receba de volta formatado e legível.

Sobre a ferramenta

Cole um JSON e receba de volta o texto indentado e legível, ou a mensagem de erro que mostra por que ele é inválido. O processamento é local: o conteúdo não sai do seu navegador.

Como usar

  1. Cole o JSON na caixa de texto.
  2. Clique em “Formatar”.
  3. Copie o resultado ou leia a mensagem de erro, se houver.

O que é JSON

JSON (JavaScript Object Notation) é o formato de texto mais usado para trocar dados entre sistemas, principalmente em APIs web. Apesar do nome, ele é independente de linguagem e é lido e escrito por praticamente qualquer uma, de Python a Java.

O formato aceita poucos tipos de valor: textos entre aspas duplas, números, true, false, null, listas entre colchetes e objetos entre chaves, com pares de chave e valor. Essa simplicidade é justamente o que o torna tão popular, mas também o motivo de pequenos deslizes quebrarem o arquivo inteiro.

Exemplo de JSON válido

{"nome": "Panda", "idade": 7, "ativo": true, "tags": ["bambu", "soneca"], "endereco": null}

Repare que todas as chaves estão entre aspas duplas, que não há vírgula depois do último item e que true e null aparecem sem aspas, pois são valores do próprio formato e não textos.

Quando formatar ajuda

Respostas de API e arquivos de log costumam vir minificados, tudo em uma linha, para economizar espaço. Formatar o texto com indentação torna a estrutura visível: fica fácil ver o que está dentro de cada objeto, encontrar um campo específico e comparar duas respostas.

Também é uma forma rápida de validar um arquivo de configuração antes de subir uma alteração: se o formatador acusar erro, a aplicação também vai acusar.

Os erros de JSON mais comuns, com exemplos

Quase todo erro de JSON vem de hábitos de JavaScript que o formato não aceita. Veja os casos mais frequentes e como corrigir:

  • Aspas simples: {'nome': 'panda'} é inválido; use {"nome": "panda"}.
  • Chave sem aspas: {nome: "panda"} é inválido; a chave precisa de aspas duplas.
  • Vírgula no final: {"a": 1,} e [1, 2,] são inválidos.
  • Comentários: // e /* */ não existem em JSON; remova-os ou guarde a observação em um campo.
  • Valores especiais: undefined, NaN e Infinity não são aceitos; use null ou um texto.
  • Texto com quebra de linha: dentro das aspas a quebra precisa ser escrita como \n.

Perguntas frequentes

Por que meu JSON dá erro?

Os motivos mais comuns são aspas simples no lugar de aspas duplas, vírgula sobrando depois do último item, chaves sem aspas e comentários, que o JSON não permite.

Meus dados são enviados para algum servidor?

Não. O JSON é validado e formatado no seu navegador.

JSON aceita comentários ou vírgula no final?

Não. Nenhum dos dois faz parte do formato. Alguns arquivos de configuração usam variações como JSONC ou JSON5, que aceitam essas liberdades, mas o JSON puro não.

Qual a diferença entre JSON e um objeto JavaScript?

O JSON é um formato de texto mais restrito: exige aspas duplas nas chaves e nos textos e não aceita funções, undefined nem comentários. Um objeto JavaScript é uma estrutura em memória que pode ter tudo isso.

O que significa “Unexpected token” na mensagem de erro?

Que o analisador encontrou um caractere onde não esperava, geralmente perto da posição indicada na mensagem. A redação exata muda de navegador para navegador, mas o erro costuma estar no caractere citado ou um pouco antes dele.

Outras ferramentas