Ir para o conteúdo principal

Validador JSON (JSON Validator)

Execute Validar para ver o veredito aqui.

Verifique se o seu texto é um JSON válido e veja onde ele falha.

O que ela faz

O JSON Validator verifica se o seu texto é um JSON válido e, quando não é, mostra onde está o primeiro problema. Ele responde com um veredito e, quando o texto é válido, também o mostra formatado, com o mesmo layout que o JSON Formatter dá com “2 espaços” selecionado.

Use antes de enviar um JSON a um programa, a uma API ou a um arquivo de configuração que o recusaria.

O que ela aceita

  • Qualquer valor JSON pode ser o texto inteiro: um objeto, uma lista, uma string, um número, true, false ou null.
  • JSON estrito: nomes e strings entre aspas duplas, sem comentários, sem vírgulas finais, sem aspas simples, sem zeros à esquerda e sem NaN.
  • Só o primeiro problema é informado, porque tudo o que vem depois de um erro de sintaxe não é confiável. Corrija-o e valide de novo para achar o próximo.
  • Um nome repetido dentro de um objeto é JSON válido, então o veredito é válido, mas um aviso lista cada repetição com a sua linha e coluna, porque os programas divergem sobre qual valor vale.
  • Uma string com um escape substituto (surrogate) sem par, como \ud800, também é válida, com um aviso, porque cada programa a trata de um jeito.
  • Os números são avaliados pela sintaxe do JSON, não pelo tamanho: 1e400 e 9007199254740993 são válidos.

Bom saber

  • Válido significa que o texto segue a sintaxe do JSON. O validador não verifica se os dados têm os campos ou os valores que o seu programa espera.
  • Se o primeiro problema é uma vírgula final, ou se o texto começa com uma marca de ordem de bytes (BOM) invisível, a ferramenta oferece uma correção. Você vê a mudança primeiro, e nada muda até você apertar “Aplicar correção e executar de novo”, que a aplica e valida de novo. Um texto que começa com BOM não recebe veredito até você decidir.
  • O texto formatado sempre usa 2 espaços: não há opção de indentação nem árvore. Um texto que não é válido recebe apenas o veredito, e o mesmo vale para um texto válido cuja versão formatada passaria de 2.000.000 bytes. Nesses casos, não há nada para copiar ou baixar.
  • Um JSON aninhado além do limite é recusado por passar do que a ferramenta processa. Ele não é chamado de inválido, porque o aninhamento profundo é JSON legal.
  • Uma entrada vazia recebe um aviso pedindo conteúdo, não um veredito.

Como usar

  1. Cole ou digite o seu texto na caixa de entrada. Nada é executado enquanto você digita.
  2. Aperte “Validar”.
  3. Leia o veredito. “O JSON é válido.” significa que o texto segue as regras do JSON. “O JSON não é válido.” vem acompanhado do primeiro problema encontrado, da sua linha e coluna e do trecho destacado no seu texto.
  4. Quando o veredito é válido e o texto formatado aparece, aperte “Copiar” para colocá-lo na área de transferência ou “Baixar” para salvá-lo como formatted.json.
  5. Corrija o problema no seu texto e aperte “Validar” de novo. Editar o texto limpa o veredito antigo, então um veredito na tela sempre corresponde ao que você validou.

Exemplos

Um texto válido

Cole este texto e aperte “Validar”. Ele segue todas as regras do JSON, então o veredito é “O JSON é válido.” Na ferramenta, o resultado também mostra o texto formatado.

{"id": 12, "tags": ["a", "b"], "note": null}

O JSON é válido.

Uma vírgula faltando

Falta uma vírgula entre os dois membros. O veredito é “O JSON não é válido.”, seguido do que a ferramenta esperava e da linha e coluna em que ela notou o problema, que também fica destacado no seu texto.

{
  "name": "Ana"
  "age": 31
}

O JSON não é válido.

Era esperada uma vírgula (,) entre os itens.

Linha 3, coluna 3

Válido, com um aviso

O nome “id” aparece duas vezes no mesmo objeto. Isso é JSON válido, então o veredito é válido, mas a ferramenta avisa porque os programas divergem sobre qual dos dois valores vale.

{"id": 1, "id": 2}

O JSON é válido.

Um nome se repete 2 vezes no mesmo objeto. Cada programa decide qual valor vale, então os resultados podem variar.

Limites e privacidade

Limites de tamanho

  • Entrada: até 2.000.000 bytes de texto em UTF-8 (cerca de 2 MB). Letras acentuadas e emojis ocupam mais de um byte cada. Uma entrada maior é recusada.
  • Aninhamento: até 256 níveis de objetos e listas dentro uns dos outros. Um JSON mais profundo é recusado porque passa do que a ferramenta processa.
  • Tempo: uma execução que demora mais que o seu limite de tempo é interrompida. Tente uma entrada menor.

Sua privacidade

O texto que você digita ou cola, ou abre de um arquivo local, é processado localmente no seu navegador, em um Web Worker dedicado. Ele nunca é enviado para o servidor (um arquivo que você abre é lido apenas no seu navegador) e não é gravado em armazenamento, cookies nem na barra de endereços.

“Copiar” coloca o resultado na área de transferência e “Baixar” o salva como arquivo, mas só quando você aperta o botão. O arquivo é criado no seu navegador, então nada é enviado.

Para ver os detalhes completos, consulte a Política de Privacidade

Ferramentas e páginas relacionadas

O seu texto continua na página quando você troca de ferramenta na mesma aba, então dá para testar o mesmo texto em outra. Recarregar ou fechar a aba o encerra.

Todas as ferramentas