JSON Diff
Confronta due oggetti JSON e visualizza le differenze.
JSON A
JSON B
Legenda colori
Come utilizzare JSON Diff
Incolla i due oggetti JSON
Incolla il JSON "A" (versione originale) nella colonna sinistra e il JSON "B" (versione nuova) nella colonna destra. Puoi anche usare "Carica esempio" per vedere subito un caso reale.
Avvia il confronto
Clicca su "Confronta": l'algoritmo ricorsivo attraversa oggetti e array e calcola chiavi aggiunte, rimosse e valori modificati, mostrando il path completo di ogni differenza (es. experience.years).
Leggi il report con la legenda colori
Ogni differenza è colorata secondo il tipo: verde per aggiunto, rosso per rimosso, giallo per modificato. I contatori in alto riassumono quante differenze di ciascun tipo sono state trovate.
Copia il report testuale
Usa "Copia report" per ottenere un riepilogo testuale di tutte le differenze, utile da incollare in una pull request, un ticket o una chat di code review.
Suggerimenti
- Usa "Carica esempio" per capire rapidamente come leggere il report prima di incollare i tuoi JSON reali.
- Se confronti risposte API, normalizza prima i timestamp o gli ID generati dinamicamente: altrimenti il diff segnalerà differenze "rumorose" non rilevanti per la logica di business.
Domande frequenti
Come vengono confrontati gli array?
Gli array vengono confrontati elemento per elemento in base all'indice numerico (es. skills[2]), non per contenuto. Se aggiungi un elemento all'inizio dell'array, tutti gli indici successivi risulteranno "modificati" anche se il contenuto è semplicemente shiftato: è un limite noto degli algoritmi di diff posizionali.
Il tool invia i miei dati JSON a un server?
No. Il confronto è calcolato interamente nel browser tramite un algoritmo ricorsivo JavaScript: nessuna chiamata di rete, nessun dato lascia il tuo dispositivo. Puoi usarlo anche con JSON contenenti dati sensibili.
Cosa succede se il JSON inserito non è valido?
Il tool valida entrambi gli input con JSON.parse prima del confronto. Se uno dei due campi contiene JSON malformato, viene mostrato l'errore di parsing esatto (con posizione del carattere problematico quando disponibile) invece del report di diff.
Che differenza c'è tra "modificato" e "aggiunto/rimosso"?
"Aggiunto" indica una chiave presente solo nel JSON B, "rimosso" una chiave presente solo nel JSON A. "Modificato" indica invece una chiave presente in entrambi ma con valore diverso (confronto tramite serializzazione JSON.stringify dei valori foglia).
Il tool supporta JSON con struttura molto annidata?
Sì, l'algoritmo è ricorsivo e attraversa oggetti e array a qualsiasi livello di annidamento, costruendo il path completo con notazione punto per gli oggetti e parentesi quadre per gli array (es. experience.tags[0].name).