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
Gerador de cards CSS
Crie um card com seu título, texto e link opcional. Ajuste cores, borda, espaçamento, sombra e efeito ao passar o mouse. Depois copie ou baixe o HTML e o CSS.
Gerador de textura de ruído
Gere uma textura de ruído em SVG que se repete sem emendas, com opacidade, frequência do grão, tipo de ruído e cor de fundo ajustáveis, e copie o CSS já pronto.
Gerador de Configuração Webpack
Crie um webpack.config.js para webpack 5 a partir de um formulário curto: defina o entry, a pasta de saída e o modo, e ative TypeScript, Babel, um loader CSS, HtmlWebpackPlugin e um servidor de desenvolvimento.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Ferramenta disponível em outros idiomas
- Walidator JSON [PL]
- ตัวตรวจสอบความถูกต้องของ JSON [TH]
- Trình kiểm tra JSON [VI]
- JSON-Validator [DE]
- JSON-validator [SV]
- JSON Validator [ID]
- Validador JSON [ES]
- JSONバリデーター [JA]
- Validateur JSON [FR]
- JSON 검사기 [KO]
- مدقّق JSON [AR]
- JSON-validator [NL]
- JSON Doğrulayıcı [TR]
- JSON 校验器 [ZH]
- JSON Validator [EN]
- Validator JSON [IT]
- Валидатор JSON [RU]