Validador de JSON
Cole um JSON para conferir se ele segue o padrão, com a mensagem de erro exata e a posição quando algo estiver errado.
Validar JSON online
Uma única vírgula perdida basta para uma API recusar uma requisição ou para um arquivo de configuração não carregar, e o erro resultante nem sempre ajuda. Colar o documento em um validador mostra em um segundo se ele é JSON válido e, se não for, exatamente onde quebra.
Esta página abre o Formatador de JSON, que valida a cada alteração com o analisador do navegador, fiel ao padrão, e formata o documento quando ele é válido.
Os erros que um validador mais encontra
| Erro | Inválido | Válido |
|---|---|---|
| Vírgula sobrando | {"a": 1,} | {"a": 1} |
| Aspas simples | {'a': 'x'} | {"a": "x"} |
| Chave sem aspas | {a: 1} | {"a": 1} |
| Vírgula faltando | {"a": 1 "b": 2} | {"a": 1, "b": 2} |
| Comentário | {"a": 1 // note} | Remova o comentário |
| Quebra de linha sem escape dentro de uma string | uma quebra de linha dentro de "…" | "line 1\nline 2" |
| Valores especiais | NaN, undefined | null ou um número |
Lendo a mensagem de erro
Os navegadores informam erros de JSON com uma posição, por exemplo “Expected double-quoted property name in JSON at position 12”. A posição conta os caracteres a partir de zero, então aponta para o caractere em que o analisador desistiu. O erro real costuma estar logo antes: a vírgula antes de uma chave de fechamento, ou a aspa que deveria ser dupla.
Válido não é o mesmo que correto
Um validador verifica a sintaxe, não o significado. Um JSON com uma chave escrita errado, um número enviado como string ou um campo obrigatório ausente continua sendo JSON válido. Para verificar a estrutura, use um validador de JSON Schema no seu código ou no CI. E cuidado com chaves duplicadas: tecnicamente são permitidas, mas a maioria dos analisadores mantém só a última, sem avisar.
Validando em código
- JavaScript:
JSON.parse(text)dentro detry/catch - Python:
json.loads(text), oupython -m json.tool file.jsonna linha de comando - jq:
jq empty file.jsonnão imprime nada quando o arquivo é válido - PHP:
json_validate($text)desde o PHP 8.3
Depois que o JSON estiver válido, use Minificar JSON para remover os espaços antes de enviá-lo.