Valide, formate, reduza e limpe JSON deliberadamente
JSON é rigoroso quanto a aspas, vírgulas, colchetes e tipos de valor. A formatação pode tornar um documento legível, enquanto a minificação remove espaços em branco insignificantes. Nenhuma das operações altera se os dados são confidenciais.
O depurador aplica regras de nome de campo selecionadas pelo usuário após analisar JSON válido. É uma conveniência para estruturas previsíveis, não um detector de privacidade semântica, e valores aninhados ainda podem revelar as mesmas informações sob outra chave ou dentro de texto livre.
A validação de sintaxe é a primeira porta
Um analisador JSON verifica aspas, vírgulas, colchetes e tipos de valores suportados. Ele não sabe se uma data é possível, se um identificador tem o comprimento correto ou se falta um campo comercial obrigatório.
Trate a análise bem-sucedida como permissão para inspecionar a estrutura, não como prova de correção. Use um validador de esquema quando o sistema receptor definir um esquema.
A formatação e a minificação preservam o significado apenas nas regras JSON
O recuo e os espaços em branco insignificantes podem mudar sem alterar os valores analisados. A ordem das chaves pode ser preservada por uma implementação, mas não deve ser usada como significado semântico, a menos que um protocolo separado diga o contrário.
Os números também podem ser uma preocupação. JavaScript representa números JSON comuns com comportamento IEEE-754, portanto, números inteiros muito grandes podem perder exatidão no processamento downstream.
Valores de limpeza, não apenas rótulos familiares
Uma regra principal pode remover campos de e-mail ou token quando os nomes são previsíveis. O mesmo valor pode permanecer em outra chave, dentro de uma mensagem de log, em uma URL ou codificado em uma string aninhada.
Após a limpeza, procure os valores originais e inspecione matrizes e objetos profundamente aninhados. O anonimato requer uma análise de risco de dados mais ampla do que a exclusão de algumas propriedades.
Lembre-se da persistência local e do histórico da área de transferência
O formatador armazena entradas e preferências atuais em localStorage. Num perfil partilhado, outro utilizador pode reabrir esse estado até que seja limpo.
A cópia da saída pode colocá-la no histórico do sistema operacional ou do gerenciador da área de transferência. Limpe a ferramenta, evite segredos reais em demonstrações e use um tratamento de segredos específico para credenciais.
Defina a ameaça de compartilhamento antes de escolher regras de limpeza
Uma limpeza útil começa com o destinatário e o motivo do compartilhamento. A equipe de suporte pode precisar de um código de erro e carimbo de data/hora, mas não de um token de acesso, e-mail do cliente, nome do host interno ou corpo completo da solicitação. Anote os campos que são obrigatórios, os campos que devem ser removidos e os valores que precisam de mascaramento parcial. Execute o depurador e procure chaves conhecidas e valores de amostra reconhecíveis. Lembre-se de que os identificadores podem aparecer dentro de texto livre, matrizes, strings codificadas ou nomes de propriedades desconhecidos. Quando os riscos são altos, crie um exemplo JSON mínimo manualmente, em vez de enviar um registro de produção reduzido.
Início rápido: LocalUtils
- Cole ou digite uma cópia do JSON e valide-a antes de fazer suposições sobre a estrutura.
- Use formatação para revisão e redução somente quando uma representação compacta for realmente necessária.
- Configure regras de limpeza para nomes de campos exatos usados no documento e inspecione cada substituição no contexto.
- Copie ou baixe o resultado e valide-o novamente no sistema de destino.
O que o navegador faz
O navegador analisa a entrada com manipulação JavaScript JSON, aplica recursivamente regras-chave configuradas e serializa o resultado com ou sem recuo.
As preferências atuais de entrada e limpeza são armazenadas em localStorage por conveniência. Essa persistência é útil em um dispositivo pessoal, mas inadequada para dados confidenciais em um perfil de navegador compartilhado.
Entradas e saídas
- Entrada: um valor JSON válido, incluindo um objeto, matriz, string, número, booleano ou nulo.
- Saída: texto JSON formatado, reduzido ou limpo.
- Comentários, vírgulas finais, sintaxe de objeto NaN, Infinity e JavaScript não são JSON padrão.
Limites a saber antes de começar
- Um documento válido ainda pode ter o esquema errado ou valores enganosos.
- A depuração baseada em chave perde segredos armazenados sob nomes inesperados ou incorporados em texto.
- Documentos colados grandes podem tornar o armazenamento do editor e do navegador lento.
- A formatação não criptografa, anonimiza ou valida regras de negócios.
Lista de verificação de verificação
- Analise a saída final em um segundo analisador JSON.
- Pesquise todos os valores confidenciais originais, não apenas o nome da chave esperado.
- Compare contagens e campos obrigatórios com o esquema de origem antes de usar o resultado.
Solução de problemas
- Use a posição relatada perto de um erro de análise e inspecione a vírgula, aspas ou colchetes anteriores.
- Se uma regra mudar muito, restrinja a correspondência de nome de campo e execute novamente a partir do original.
- Se o editor ficar lento, use um fluxo de trabalho orientado a arquivos ou streaming em vez de colar dados de vários megabytes.
Perguntas que as pessoas fazem
Por que o JSON válido ainda falha na minha API?
A API pode exigir um esquema, codificação, tamanho, contexto de autenticação ou semântica de campo específicos além da sintaxe JSON.
A formatação pode alterar um número inteiro enorme?
A análise de valores numéricos JavaScript pode perder precisão fora do intervalo de números inteiros seguros. Armazene esses identificadores como strings quando o esquema permitir.
Excluir um nome torna um registro anônimo?
Não necessariamente. Outros campos e combinações podem identificar a mesma pessoa e conjuntos de dados externos podem permitir a reidentificação.
