Vai al contenuto
TextArray
100% locale

Diff.JSON

Confronta strutturalmente due documenti JSON e visualizza ogni valore aggiunto, rimosso e modificato in base al suo percorso.

Ingresso
JSON modificato

Diff.JSON

Incolla il JSON originale nel primo campo e la versione modificata nel secondo e lo strumento segnala ogni differenza tramite il suo percorso: + user.roles[2] = "admin" per un valore aggiunto, − user.legacyId per uno rimosso, ~ user.name: "Anna" → "Eva" per una modifica. Il confronto è strutturale, non testuale: entrambi i documenti vengono analizzati e i loro valori confrontati in modo ricorsivo, quindi la riformattazione, il rientro e l'ordine delle chiavi degli oggetti non contano mai come differenze. Questo è esattamente ciò che una differenza di testo semplice sbaglia su JSON.

Raggiungilo quando due risposte API dovrebbero corrispondere ma non lo sono: stadiazione rispetto alla produzione, carico utile di ieri rispetto a quello di oggi, la risposta prima e dopo una distribuzione. È altrettanto utile per la deriva della configurazione (due file di configurazione esportati che si sono allontanati nel tempo) e per il debug dello stato serializzato, dove un singolo flag modificato si nasconde in kilobyte di oggetti nidificati.

Gli elementi dell'array vengono confrontati per indice, quindi un elenco spostato viene visualizzato come una serie di modifiche. Quando l'ordine non ha veramente importanza (tag, elenchi di autorizzazioni), attiva "Ignora ordine array" e gli array vengono abbinati come multiset: vengono segnalati solo gli elementi effettivamente aggiunti o rimossi. "Mostra valori invariati" elenca inoltre ogni percorso invariato, trasformando l'output in un inventario completo e annotato del documento.

Entrambi i documenti vengono analizzati e confrontati interamente nel tuo browser. Non viene caricato nulla, quindi i payload di produzione, i token e i dati dei clienti all'interno del tuo JSON rimangono sul tuo dispositivo.

FAQ

In cosa differisce da una differenza di testo?
Una differenza di testo confronta le righe, quindi i tasti riformattati o riordinati sembrano modifiche. Questo strumento analizza entrambi i documenti e confronta i valori strutturalmente: vengono riportate solo le differenze reali nei dati.
L'ordine delle chiavi degli oggetti è importante?
No. {"a":1,"b":2} e {"b":2,"a":1} sono identici. Gli oggetti vengono confrontati per chiave, non per posizione.
Come vengono confrontati gli array?
Per indice: il terzo elemento dell'originale viene confrontato con il terzo elemento del documento modificato. Attiva invece "Ignora ordine array" per far corrispondere gli array come multiset, in modo che il riordino non venga segnalato come differenza.
Cosa significano i percorsi nell'output?
I punti scendono negli oggetti e le parentesi negli array: user.roles[2] è il terzo elemento dell'array dei ruoli all'interno di user. Le chiavi che non sono identificatori semplici sono citate tra parentesi.
Il mio JSON è caricato da qualche parte?
No. Entrambi i documenti vengono analizzati e confrontati interamente nel tuo browser e non lasciano mai il tuo dispositivo.