O que é Comparação de JSON?
Comparação de JSON é o processo de analisar dois arquivos JSON para identificar diferenças, alterações e mudanças entre versões. Isso é essencial para: versionamento de APIs, revisão de configurações, debugging de mudanças e auditoria de dados.
Tipos de Diferenças Detectadas
1. Adições (+ verde): Propriedades ou valores que existem apenas no segundo JSON (nova versão). Indica que algo foi adicionado.
2. Remoções (- vermelho): Propriedades ou valores que existiam apenas no primeiro JSON (versão original). Indica que algo foi deletado.
3. Modificações (~ amarelo): Propriedades que existem em ambos os JSONs, mas com valores diferentes. Mostra o valor antigo e o novo.
4. Objetos aninhados: O diferenciador percorre objetos aninhados recursivamente, mostrando diferenças em qualquer nível de profundidade.
Modos de Visualização
Visualização Dividida (Split View): Mostra as diferenças lado a lado, com valores antigos e novos em colunas separadas. Ideal para comparações detalhadas.
Visualização Unificada (Unified View): Mostra todas as diferenças em uma lista única, com prefixos (+, -, ~) para indicar o tipo de mudança. Mais compacto.
Casos de Uso Comuns
🔧 Versionamento de APIs
Compare versões de respostas de API para identificar mudanças em endpoints antes de deploy.
📄 Configurações de Aplicação
Verifique diferenças entre arquivos de configuração (package.json, tsconfig.json, etc.) antes de commitar mudanças.
🗄️ Migração de Dados
Compare dumps de banco de dados antes/depois de migração para validar que todas as mudanças foram aplicadas corretamente.
🐛 Debugging
Identifique quais propriedades mudaram entre uma versão funcionando e uma com bug.
FAQ - Perguntas Frequentes
1. O diferenciador funciona offline?
Sim! Todo o processamento é feito no seu navegador usando JavaScript nativo. Nenhum JSON é enviado para servidores externos, garantindo privacidade total dos seus dados.
2. O diferenciador suporta JSONs muito grandes?
O limite depende da memória disponível no seu navegador, mas geralmente suporta arquivos de até 10-50 MB. Para arquivos maiores, recomendamos usar ferramentas de linha de comando como diff.
3. Como lidar com ordenação diferente?
Arrays com mesma ordenação são tratados como modificados. Se a ordem não importa, minifique os JSONs primeiro para ordenar alfabeticamente as chaves, antes de comparar.
4. Posso ignorar certas propriedades?
Não diretamente na interface. No entanto, você pode remover as propriedades indesejadas manualmente antes de comparar, ou usar um processador JSON para filtrar campos.
5. O diferenciador detecta mudanças em tipos?
Sim! Se uma propriedade muda de "123" (string) para 123 (number), isso será mostrado como uma modificação.
6. Como usar o diff copiado?
O diff copiado está em formato texto simples, fácil de colar em ferramentas como Slack, GitHub PRs, ou documentação. Cada linha mostra o prefixo, caminho e valor.