Como validar JSON e testar Regex com segurança no navegador
JSON e expressões regulares aparecem o tempo todo em APIs, configurações, logs e validações. As duas ferramentas ajudam a enxergar erros rapidamente, mas cada uma tem limites que precisam ser entendidos antes de levar o resultado para produção.
Validar antes de formatar
Um JSON válido segue regras rígidas: nomes de propriedades e textos usam aspas duplas, não há vírgula depois do último item e comentários não fazem parte do padrão. O formatador de JSON do HomeForge Dev Tools usa JSON.parse para validar. Se o conteúdo for aceito, JSON.stringify gera a versão indentada ou minificada.
Formatar com dois ou quatro espaços melhora a leitura humana e ajuda a localizar objetos aninhados. Minificar remove espaços dispensáveis para transporte ou comparação. Nenhuma das opções muda o significado dos valores, mas a serialização pode normalizar detalhes de apresentação. Por isso, mantenha o original quando estiver investigando exatamente o que um sistema recebeu.
Erros comuns em payloads JSON
- Vírgula sobrando antes de fechar um objeto ou array.
- Aspas simples no lugar de aspas duplas.
- Quebra de linha não escapada dentro de um texto.
- Valor
undefined, que não faz parte do JSON. - Chaves ou colchetes abertos sem o fechamento correspondente.
A indicação de linha e coluna depende da mensagem produzida pelo navegador e pode ser aproximada. A ferramenta não executa o conteúdo colado. O limite de 500 mil caracteres existe para manter a página responsiva; arquivos maiores devem ser tratados por ferramentas de linha de comando ou pelo ambiente de desenvolvimento.
Testando uma expressão regular
No testador de Regex, a expressão é informada sem as barras externas e as flags são escolhidas separadamente. A flag g procura todas as correspondências, i ignora diferença entre maiúsculas e minúsculas, m altera o comportamento de início e fim em várias linhas, s permite que o ponto inclua quebras de linha, u ativa o tratamento Unicode e y usa a busca sticky.
Grupos comuns e grupos nomeados ajudam a separar partes do texto. Em JavaScript, um grupo nomeado usa a forma (?<nome>...). Esse detalhe não deve ser copiado sem revisão para outro mecanismo: uma expressão válida no navegador pode precisar de mudanças em .NET, Python, Java, banco de dados ou ferramentas baseadas em PCRE.
Proteção contra expressões pesadas
Algumas combinações com repetições aninhadas podem consumir muito tempo em determinados textos. A ferramenta executa o teste em segundo plano e interrompe operações acima de dois segundos. Também limita o padrão a mil caracteres, o texto a 50 mil e a visualização a 500 correspondências. Esses limites ajudam durante a experimentação, mas não provam que a expressão terá desempenho seguro com toda entrada possível em um servidor.
Um fluxo simples de depuração
- Reduza o JSON ou texto a um exemplo mínimo que ainda reproduza o problema.
- Valide a estrutura antes de criar uma Regex para procurar valores dentro dela.
- Teste casos que devem corresponder e casos que devem falhar.
- Confira grupos, flags e diferenças do mecanismo usado no projeto.
- Leve a regra para testes automatizados antes de publicar.