Validador JSON
Cole qualquer documento JSON e veja se ele é analisado corretamente de acordo com o RFC 8259. Entradas inválidas retornam com o problema exato, vírgula final após o último item do array, chave não entre aspas, string não terminada, aspas simples onde o JSON exige aspas duplas, sequências de escape ruins, além da linha e coluna onde o analisador desistiu. Útil ao depurar uma resposta de API, um arquivo de configuração, um package.json editado manualmente por um colega ou a saída de um gerador de código.
Como funciona a validação JSON
-
1
Cole seu JSON
Insira um payload, um arquivo de configuração ou uma resposta de API. Espaços em branco são aceitáveis; tabs e comentários não são (JSON puro não tem comentários).
-
2
Analise com um analisador estrito do RFC 8259
O validador rejeita qualquer coisa que a especificação proíbe: vírgulas finais, chaves não entre aspas, aspas simples, `undefined`, números hexadecimais.
-
3
Leia o erro
Se falhar, você recebe a mensagem do analisador mais uma localização aproximada, o suficiente para navegar diretamente até o caractere.
-
4
Corrija e revalide
Corrija o problema, cole novamente e confirme que o documento é válido antes de confirmar ou enviar.
O que o JSON estrito permite, e o que não permite
Muitos formatos “quase JSON” circulam (JSON5, JSONC, HJSON, híbridos semelhantes ao YAML). A especificação JSON em si é pequena e estrita; este validador informa se seu documento sobrevive a um analisador estrito, que é o que a maioria dos sistemas downstream realmente executa.
Regras que pegam a maioria das pessoas
| Regra | Válido | Inválido |
|---|---|---|
| Chaves devem ser strings entre aspas duplas | {"a": 1} |
{a: 1} |
| Strings usam apenas aspas duplas | "hello" |
'hello' |
| Sem vírgulas finais | [1, 2, 3] |
[1, 2, 3,] |
| Sem comentários | (nenhum) | // comentário ou /* */ |
Números: sem + inicial, sem .5 |
0.5 |
+1, .5 |
| Apenas literais reservados | true, false, null |
undefined, NaN |
| Codificação UTF-8 | Strings Unicode | Sequências de bytes inválidas |
Erros comuns e o que eles significam
- “Token
}inesperado”, você tem uma vírgula final antes da chave de fechamento. - “Nome da propriedade esperado”, chave não está entre aspas ou você esqueceu as aspas ao redor da chave de abertura.
- “Fim inesperado da entrada”, uma abertura
{ou[não está fechada; conte as chaves. - “Caractere de controle ruim”, um tab, nova linha ou outro byte de controle dentro de uma string literal. Escape-os como
\t,\n, etc. - “Chave duplicada”, não é realmente um erro da especificação JSON (a especificação diz que DEVE ser única), mas muitos validadores avisam. O validador sinaliza isso como um aviso, não uma falha grave.
Se você precisa de formatos mais flexíveis
- JSON5 permite vírgulas finais, comentários e aspas simples. Use um analisador JSON5 se esse for seu formato de destino.
- JSONC (JSON com comentários) é o que as configurações do VS Code usam. Remova comentários antes da análise estrita.
- YAML é um formato diferente; não assuma que é “apenas JSON indentado”.
Dicas
- Valide antes de confirmar. Um erro de digitação em um
package.jsonou em uma configuração de CI quebra toda a construção até que alguém perceba. - Formate após validar para tornar as diferenças de revisão legíveis. Um arquivo JSON de uma linha é válido, mas miserável para revisar.
- Para payloads grandes, valide em fluxo (
jqna linha de comando, por exemplo). A análise no navegador tem dificuldades além de alguns MB.
Perguntas frequentes
Esta ferramenta verifica apenas a validade sintática, é um JSON bem formado? Para regras estruturais (campos obrigatórios, valores de enumeração, comprimentos de string), use um validador de esquema JSON. Os dois passos são complementares: não faz sentido executar a validação de esquema em um documento que não é JSON válido em primeiro lugar.
Porque o JSON padrão não tem comentários. // e /* */ são uma extensão de bom senso (JSONC, JSON5), mas o JSON puro os rejeita. Remova comentários antes de enviar para um consumidor estrito, ou adote JSON5 em toda a sua pilha.
Inválido em JSON estrito. A especificação permite apenas números finitos. Serialize-os como strings ("NaN", "Infinity") ou como null, dependendo de como seu consumidor lida com dados ausentes.
Não, a validação ocorre no seu navegador, então o payload que você cola nunca sai da página. Seguro para arquivos de configuração sensíveis e respostas de API com credenciais.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de EditorConfig
Gere um arquivo .editorconfig com suas regras de estilo e tamanho de indentação, fim de linha, charset e espaços em branco para formatação consistente entre IDEs e editores.
Validador de Email
Valide um endereço de email: verificação de sintaxe RFC 5322, consulta de registro MX em tempo real, além de detalhes de parte local, domínio e comprimento. Nenhum email é enviado.
Formatador de HTML
Formate HTML localmente no navegador com indentação de dois ou quatro espaços. O HTML não é enviado nem validado.
Ferramenta disponível em outros idiomas
- Trình kiểm tra JSON [VI]
- Validador JSON [ES]
- JSON-validator [SV]
- مدقّق JSON [AR]
- JSONバリデーター [JA]
- ตัวตรวจสอบความถูกต้องของ JSON [TH]
- JSON-Validator [DE]
- JSON 검사기 [KO]
- JSON-validator [NL]
- Validateur JSON [FR]
- JSON Validator [ID]
- Walidator JSON [PL]
- JSON 校验器 [ZH]
- JSON Validator [EN]
- Validator JSON [IT]
- Валидатор JSON [RU]
- JSON Doğrulayıcı [TR]