Validador JSON
input.json
Cole seu JSON aqui
ou solte um arquivo .json em qualquer ponto desta área
A saída formatada aparece aqui.
O que o painel de erros mostra
As mensagens do analisador nativo são curtas e variam por navegador —
Unexpected token } quase não diz o que mudar. Quando a validação falha, quatro
coisas são informadas no lugar:
- Linha e coluna, derivadas do deslocamento de caractere que o analisador informou.
- A linha de origem com um marcador sob o caractere exato, recortada para que o marcador continue visível mesmo em uma linha minificada de 4.000 caracteres.
- O que o analisador esperava, reescrito em linguagem simples em vez da string crua do motor.
- Uma causa provável, inferida ao inspecionar a origem em volta da falha procurando os erros listados abaixo.
A linha problemática também é marcada na margem do editor, e Ir para o erro coloca o cursor no caractere para você corrigir e ver o status virar válido enquanto digita.
Todas as causas comuns e como corrigir
Vírgula final
Válida em JavaScript, inválida em JSON. O analisador informa que esperava um nome de propriedade ou um valor, porque depois de uma vírgula ele exige outro membro.
{ "a": 1, "b": 2, } ✗
{ "a": 1, "b": 2 } ✓
Aspas simples
Strings JSON usam aspas duplas, tanto em chaves como em valores. Sem exceção.
{ 'name': 'ada' } ✗
{ "name": "ada" } ✓
Nomes de propriedade sem aspas
Literais de objeto do JavaScript aceitam identificadores nus como chaves; JSON não. É a razão mais comum para um trecho copiado do código-fonte não validar.
{ name: "ada" } ✗
{ "name": "ada" } ✓
Comentários
JSON não tem sintaxe de comentário — de propósito. Se você precisa de anotações em um arquivo de
configuração, use uma chave "_comment" ou um formato que os suporte, como JSON5,
YAML ou TOML. Reparar remove comentários // e /* */ para que você pelo
menos consiga ler os dados.
Literais de Python e JavaScript
True, False e None vêm de colar um repr do
Python; undefined, NaN e Infinity vêm do JavaScript. O
JSON tem exatamente três palavras-chave, todas minúsculas: true,
false e null. Não há como expressar NaN ou infinito em JSON — use
null ou uma string sentinela.
Caracteres não escapados dentro de strings
Uma quebra de linha literal, uma tabulação ou uma aspa dupla não escapada dentro de uma string a
encerram cedo, e o erro geralmente aparece alguns tokens depois do erro real. Escape-os como
\n, \t e \". Caracteres de controle crus abaixo de
U+0020 nunca são permitidos.
Vários valores de primeiro nível
Um documento JSON contém um valor. Dois objetos separados por uma quebra de linha são NDJSON — um formato diferente e muito útil, mas que precisa ser analisado linha por linha. Reparar reconhece isso e embrulha as linhas em um array para você ver o arquivo inteiro de uma vez.
Válido, mas arriscado
Passar na validação não significa que um documento é seguro. Duas coisas são JSON legítimo e ainda assim causam problemas reais:
- Chaves duplicadas. A gramática permite; o comportamento depende da implementação. O JavaScript mantém a última ocorrência, então dados podem desaparecer em silêncio.
- Inteiros acima de 253−1. Qualquer consumidor baseado em JavaScript perde precisão ao analisar. Se seus identificadores são de 64 bits, serialize-os como strings.
Depois que o documento valida, o visualizador em árvore é o jeito mais rápido de conferir se a estrutura é a esperada, e formatar a torna revisável.
Perguntas frequentes
Qual especificação de JSON é usada?
O analisador nativo do navegador, que implementa a RFC 8259 e o ECMA-404. Na prática as duas são equivalentes, e a RFC 8259 substitui a RFC 7159 e a RFC 4627. Um documento que valida aqui é analisado em Node, Python, Go e Java.
Isso confere meu JSON contra um JSON Schema?
Não: valida a sintaxe, não a forma. Responde “isso é JSON analisável?” e não “isso atende ao meu contrato?”. Validação estrutural contra um schema precisa do schema, e roda melhor na sua suíte de testes que em uma aba do navegador.
Por que a coluna informada difere do meu editor?
As colunas são contadas em caracteres começando em 1, igual ao que o analisador informa. Editores que exibem tabulações como várias colunas mostrarão um número maior nas linhas que começam com tabulação. O marcador do painel de erros sempre aponta para o caractere certo.
Um documento vazio é JSON válido?
Não. A RFC 8259 exige exatamente um valor, então um arquivo vazio é inválido. null, 0, false, "", [] e {} são documentos válidos por si sós.
O resto das ferramentas
O mesmo motor e a mesma privacidade — cada página roda inteiramente no seu navegador.
Formatador JSON
Indente JSON com 2 espaços, 4 espaços ou tabulação e depois copie ou baixe o resultado.
Visualizador JSON
Expanda, recolha e busque em uma árvore JSON; copie qualquer valor ou seu caminho.
Minificador JSON
Remova o espaço em branco e veja a economia de bytes antes e depois.
Embelezador JSON
Transforme JSON minificado ou quebrado em uma saída limpa e destacada.