Comparar JSON

Compare dois JSON lado a lado. O que foi acrescentado, removido ou alterado fica marcado, e o detalhe fica à direita.

ou
 

Ou experimentar

ou
 

JSON da esquerda

 

JSON da direita

 

Detalhe

    O que mudou entre dois valores

    Dois objetos indentados podem parecer-se e diferir num só campo. Esta página lê os dois lados como JSON estrito e lista acrescentos, remoções e alterações. Não repara comentários. Isso é reparar JSON. Formatar um só documento é o formatador JSON.

    Como se usa

    1. Cole o primeiro valor à esquerda e o segundo à direita. Por baixo de cada caixa, ou e um campo de ficheiro carregam um .json nesse lado.
    2. Comparar fica entre as duas caixas. O número de diferenças aparece por cima do resultado, os dois valores lado a lado e Detalhe à direita. Verde só estava à direita, vermelho só à esquerda e âmbar mudou. Uma linha em branco alinha o outro lado.
    3. Anterior e Seguinte percorrem a lista. Clique num valor marcado, ou numa linha do detalhe, para ir a essa diferença.
    4. Mostrar exemplo, por baixo de Comparar, carrega uma encomenda à esquerda: id A-1042, status open, a cliente Ada Lovelace em London com o correio [email protected], itens PEN com qty 2 e INK com qty 1, note gift wrap e total 11.5. A direita mantém o id e o nome, muda o correio para [email protected], status para paid e total para 16.5, põe qty 3 em PEN, troca INK por BOOK ao price 12, tira note e acrescenta shipped false. Comparar corre logo. A lista é ~ $.customer.email, ~ $.items[0].qty, ~ $.items[1].price, ~ $.items[1].sku, - $.note, + $.shipped, ~ $.status e ~ $.total.
    5. Se coincidirem, em cima diz Sem diferença. Voltar a editar regressa às caixas e mantém o texto. Limpar tudo esvazia as duas caixas. Copiar resultado copia a lista.

    Como uma linha é escrita

    Os caminhos começam em $. As chaves de objeto são ordenadas: a ordem de escrita não é diferença. Uma chave identificador escreve-se .name. As outras usam ["key"]. As matrizes comparam-se por índice. Uma mudança de tipo, também matriz contra objeto, é uma linha ~. Cada lado tem de ser legível como JSON. Um lado esquerdo inválido e um lado direito inválido são erros distintos. Mais de 400 linhas de diferença pára em vez de mostrar uma lista a meio.

    Para que serve

    • Ver uma resposta depois de renomear um campo.
    • Ver qual elemento da matriz apareceu ou desapareceu.
    • Confirmar que duas exportações são o mesmo objeto.

    Perguntas

    A ordem das chaves muda e mesmo assim diz que não há diferença.

    Os objetos comparam-se por chave, não pela ordem em que foram escritos.

    Um comentário à esquerda falhou.

    As duas caixas precisam de JSON estrito. Tire os comentários primeiro em reparar JSON.