Ir para o conteúdo
TextArray
Totalmente local

Diferença JSON

Compare estruturalmente dois documentos JSON e veja cada valor adicionado, removido e alterado por seu caminho.

Entrada
JSON alterado
Saída

Diferença JSON

Cole o JSON original no primeiro campo e a versão alterada no segundo, e a ferramenta relatará todas as diferenças por seu caminho: + user.roles[2] = "admin" para um valor adicionado, - user.legacyId para um valor removido, ~ user.name: "Anna" → "Eva" para variar. A comparação é estrutural, não textual — ambos os documentos são analisados e seus valores comparados recursivamente, portanto, a reformatação, o recuo e a ordem das chaves dos objetos nunca contam como diferenças. É exatamente isso que uma comparação de texto simples erra sobre JSON.

Alcance-o quando duas respostas da API deveriam corresponder, mas não correspondem: preparação em relação à produção, carga útil de ontem em relação à de hoje, a resposta antes e depois de uma implantação. É igualmente útil para desvios de configuração - dois arquivos de configuração exportados que se distanciaram ao longo do tempo - e para depuração de estado serializado, onde um único sinalizador alterado se esconde em kilobytes de objetos aninhados.

Os elementos da matriz são comparados por índice, portanto, uma lista deslocada aparece como uma série de alterações. Quando a ordem realmente não importa - tags, listas de permissões - ative "Ignorar ordem da matriz" e as matrizes serão correspondidas como multiconjuntos: somente elementos genuinamente adicionados ou removidos serão relatados. "Mostrar valores inalterados" lista adicionalmente todos os caminhos inalterados, o que transforma a saída em um inventário completo e anotado do documento.

Ambos os documentos são analisados e comparados inteiramente no seu navegador. Nada é carregado, portanto, cargas de produção, tokens e dados de clientes dentro do seu JSON permanecem no seu dispositivo.

FAQ

Como isso é diferente de uma diferença de texto?
Uma comparação de texto compara linhas, de modo que as chaves reformatadas ou reordenadas parecem alterações. Esta ferramenta analisa ambos os documentos e compara os valores estruturalmente – apenas diferenças reais nos dados são relatadas.
A ordem das chaves dos objetos é importante?
Não. {"a":1,"b":2} e {"b":2,"a":1} são idênticos. Os objetos são comparados por chave, não por posição.
Como as matrizes são comparadas?
Por índice: o terceiro elemento do original é comparado com o terceiro elemento do documento alterado. Ative "Ignorar ordem de matriz" para combinar matrizes como multiconjuntos, para que a reordenação não seja relatada como uma diferença.
O que significam os caminhos na saída?
Os pontos descem para os objetos e os colchetes para os arrays - user.roles[2] é o terceiro elemento do array de funções dentro do usuário. Chaves que não são identificadores simples são citadas entre colchetes.
Meu JSON foi carregado em algum lugar?
Não. Ambos os documentos são analisados e comparados inteiramente no seu navegador e nunca saem do seu dispositivo.