Validação JSON: Como Validar e Corrigir Dados JSON
JSON (JavaScript Object Notation) é o formato de intercâmbio de dados mais utilizado na web. De respostas de API a ficheiros de configuração, o JSON está em todo o lado. Mas o JSON é rigoroso quanto à sua sintaxe — uma única vírgula mal colocada ou uma aspa em falta pode quebrar um analisador inteiro. Este guia cobre tudo o que precisa de saber sobre validação JSON, erros comuns e como corrigi-los.
Por Que a Validação JSON é Importante
JSON inválido pode causar uma variedade de problemas:
- Falhas de API: Um servidor a retornar JSON inválido quebrará os analisadores do lado do cliente e danificará aplicações.
- Erros de configuração: JSON quebrado em ficheiros de configuração (como
package.json,composer.jsonoutsconfig.json) pode impedir ferramentas de funcionar. - Corrupção de dados: Importar ou exportar dados com erros JSON pode levar à perda silenciosa de dados.
- Dores de cabeça de depuração: Rastrear JSON inválido em ficheiros grandes sem ferramentas adequadas é demorado e propenso a erros.
Validar JSON antes de o utilizar em produção poupa tempo e previne bugs.
Como Validar JSON
Validador JSON Online
A forma mais fácil de validar JSON é usar uma ferramenta online. A ferramenta JSON Validator & Repair no Help2Code verifica a sua sintaxe JSON em tempo real e fornece mensagens de erro detalhadas que apontam diretamente para a localização do problema.
Funcionalidades incluem:
- Validação em tempo real enquanto escreve ou cola
- Números de linha e coluna para cada erro
- Descrições de erro legíveis
- Sugestões de reparação automática para problemas comuns
- Opção para minificar ou embelezar a saída
- Suporte para validação JSON Schema
Validar JSON em Código
JavaScript (Navegador / Node.js):
try {
const data = JSON.parse(jsonString);
console.log('JSON Válido:', data);
} catch (error) {
console.error('JSON Inválido:', error.message);
}
Python:
import json
def validate_json(data):
try:
json.loads(data)
return True, None
except json.JSONDecodeError as e:
return False, str(e)
is_valid, error = validate_json('{"name": "Alice"}')
print(error if not is_valid else "Válido!")
PHP:
function validateJson($string) {
json_decode($string);
return json_last_error() === JSON_ERROR_NONE;
}
Linha de Comandos (jq):
# Validar ficheiro JSON (código de saída 0 se válido)
jq . ficheiro.json > /dev/null && echo "Válido" || echo "Inválido"
# Mostrar o erro específico
jq . ficheiro.json 2>&1
Como Reparar JSON Inválido
Alguns erros JSON podem ser reparados automaticamente. Estratégias de reparação comuns incluem:
- Remover vírgulas finais: Remover vírgulas antes de parênteses ou chaves de fecho.
- Adicionar aspas em falta: Colocar aspas automaticamente em chaves sem aspas e strings com aspas simples.
- Corrigir caracteres escapados: Corrigir caracteres de controle mal escapados.
- Remover comentários: Remover comentários de estilo JavaScript (
//e/* */). - Converter aspas simples para duplas: Substituir todas as strings com aspas simples por strings com aspas duplas.
- Remover texto após o fim: Remover qualquer texto após o último parêntese ou chave de fecho.
A ferramenta JSON Validator & Repair aplica automaticamente estas correções e mostra o JSON reparado juntamente com o original.
Validação JSON Schema
Além da validação de sintaxe, o JSON Schema define a estrutura e os tipos de dados que o seu JSON deve seguir. Um JSON Schema é ele próprio um documento JSON que descreve:
- Campos obrigatórios e opcionais
- Tipos de dados (string, number, boolean, array, object, null)
- Padrões e formatos de string (email, data, URI)
- Valores mínimos e máximos para números
- Restrições de comprimento de array
O JSON Schema Validator no Help2Code permite validar os seus dados JSON contra um esquema para garantir a correção estrutural.
Conclusão
A validação JSON é uma habilidade essencial para qualquer programador que trabalhe com tecnologias web modernas. Compreender as regras de sintaxe, erros comuns e ferramentas disponíveis ajuda-o a detetar e corrigir problemas precocemente. Use a ferramenta JSON Validator & Repair para verificar o seu JSON instantaneamente.