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
- Cole ou digite o seu texto na caixa de entrada. Nada é executado enquanto você digita.
- Aperte “Validar”.
- 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.
- 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.
- 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.