Erros comuns
JSON exige aspas duplas em chaves e strings. Comentários, vírgulas finais, undefined, NaN e atalhos de objetos JavaScript são inválidos.
Uma única aspa ou vírgula incorreta pode gerar vários erros posteriores.
Use linha e coluna
A posição mostra onde o analisador não conseguiu continuar; a causa pode ser a aspa, vírgula, chave ou colchete anterior.
Corrija um erro por vez e valide novamente.
Não adivinhe a intenção
Reparo automático pode mudar os dados. Preserve a entrada, corrija a origem e compare a estrutura antes de usar.
Depois da validação, formate ou minifique com segurança.
Fluxo confiável passo a passo
Trate JSON inválido como uma transformação de dados com entrada, estrutura esperada e destino definidos. Trabalhe em uma cópia, valide antes de mudar a representação e isole uma amostra mínima. Isso separa falhas de sintaxe de problemas do modelo de dados ou da aplicação.
Faça uma alteração por vez e repita a mesma validação. Em pipelines automatizados, interrompa o processo diante de um erro do analisador, em vez de publicar um resultado parcial ou presumido. Preserve a entrada original junto do artefato gerado quando precisar de rastreabilidade.
- Corrija primeiro o primeiro erro informado; uma única aspa ausente pode gerar vários avisos secundários.
- Reduza um documento grande ao menor trecho que ainda falha, preservando o aninhamento ao redor do erro.
- Depois que a sintaxe passar, confira chaves obrigatórias, tipos, limites e regras específicas da aplicação.
Exemplo prático e verificação
O exemplo abaixo é pequeno de propósito para permitir inspeção visual. Aplique o mesmo método a um documento real: confirme cada chave, tipo escalar, ordem de lista e limite de aninhamento antes de aceitar a saída.
Uma conversão ou minificação concluída só comprova que a entrada pôde ser analisada. Compare o valor estruturado antes e depois e carregue o resultado com a mesma biblioteca ou plataforma que o consumirá em produção.
{
"service": "api",
"retries": 3,
"enabled": true
}Limites e casos especiais
Os casos difíceis de JSON inválido geralmente surgem quando validade sintática é confundida com validade para a aplicação. Um analisador pode aceitar dados incompletos, ambíguos, grandes demais ou incompatíveis com o esquema de destino.
Não corrija nem normalize às cegas um documento desconhecido. Chaves duplicadas, tipos implícitos, aliases, precisão numérica, Unicode, finais de linha e entradas enormes exigem uma política explícita. Se o destino tiver regras mais rígidas, elas prevalecem.
Checklist para produção
Antes de publicar, teste um documento normal, um valor vazio, dados muito aninhados, texto não ASCII e um exemplo malformado. Registre a versão da ferramenta ou biblioteca se outro sistema precisar reproduzir exatamente a saída.
Inclua a validação no CI quando os dados afetarem builds, implantações, APIs ou configuração. Revise diferenças, mantenha uma cópia para reversão e monitore o primeiro consumidor após a implantação.
- Corrija primeiro o primeiro erro informado; uma única aspa ausente pode gerar vários avisos secundários.
- Reduza um documento grande ao menor trecho que ainda falha, preservando o aninhamento ao redor do erro.
- Depois que a sintaxe passar, confira chaves obrigatórias, tipos, limites e regras específicas da aplicação.
Perguntas sobre este tema
Trabalhar com JSON inválido altera os dados?
Não deve alterar o significado quando a operação muda apenas a representação, mas analisadores podem resolver aliases, normalizar números, remover comentários ou escolher outro estilo textual. Compare as estruturas e confira as regras do destino.
Como verificar o resultado?
Analise os dois lados quando possível, compare chaves e tipos e teste a saída no consumidor real. Uma revisão visual pode ignorar diferenças de null, números, booleanos, codificação ou chaves duplicadas.
Quando evitar uma conversão automática?
Evite a conversão sem supervisão se a origem usar extensões específicas, chaves duplicadas, tags personalizadas, comentários operacionais ou números cuja precisão não possa ser representada com segurança.