Un tool veloce e privato per confrontare JSON
Quando si lavora con strutture dati complesse, individuare un singolo valore modificato o una chiave mancante può essere incredibilmente frustrante. Questo strumento per confrontare JSON è progettato per analizzare ed evidenziare all'istante le differenze esatte tra due payload JSON. Invece di leggere migliaia di righe di codice, ottieni un report pulito e strutturato che mostra esattamente cosa è cambiato.
Poiché questo tool viene eseguito interamente nel tuo browser, è un modo completamente privato per eseguire un JSON diff online. I tuoi dati non vengono mai caricati su un server o salvati in un database. Puoi incollare in totale sicurezza risposte API proprietarie, payload di dati dei clienti o configurazioni di ambienti sensibili senza rischiare una fuga di dati.
Come funziona il confronto profondo di JSON
Se vuoi confrontare due file JSON, usare un classico Diff Checker per testo semplice spesso porta a falsi positivi. Gli strumenti testuali confrontano i dati riga per riga. Se il tuo JSON modificato ha un'indentazione diversa, o se le chiavi di un oggetto sono semplicemente in un ordine diverso, un diff testuale segnalerà l'intero blocco come modificato.
Questo strumento funziona diversamente. Effettua il parsing del testo in veri oggetti JavaScript ed esegue un confronto profondo e ricorsivo della struttura dati. Ignora gli spazi vuoti, l'indentazione e l'ordine delle chiavi. Se {"status": "ok", "code": 200} diventa {"code": 200, "status": "ok"}, lo strumento li riconosce come perfettamente identici.
Quando trova una differenza, genera un percorso preciso verso la modifica utilizzando la dot notation standard e la sintassi a parentesi quadre. Ad esempio, se il terzo tag in un array cambia, lo strumento punterà direttamente a tags[2] invece di evidenziare una riga a caso in un file enorme.
Gestione degli array: ordine rigoroso vs ininfluente
Una delle sfide più comuni in uno strumento di confronto JSON è la gestione degli array. A volte, l'ordine degli elementi in un array è fondamentale. Altre volte, un array è solo un elenco non ordinato di elementi e conta solo che i contenuti corrispondano.
Di default, questo strumento confronta gli array in modo rigoroso in base all'indice. Verifica se il primo elemento dell'originale corrisponde al primo del modificato, e così via.
Se attivi l'opzione Ignora l'ordine degli array, lo strumento cambia comportamento. Serializza e ordina alfabeticamente il contenuto di entrambi gli array prima di confrontarli. Ciò significa che se l'array originale è ["apple", "banana"] e quello modificato è ["banana", "apple"], lo strumento rileverà zero differenze. Questa funzione è utilissima quando si confrontano risposte API provenienti da database che non garantiscono un ordine specifico.
Casi d'uso comuni
Debug delle risposte API. Quando un endpoint API smette improvvisamente di funzionare, confrontare la vecchia risposta corretta con quella nuova errata è il modo più veloce per trovare la causa. Incolla entrambi i payload per vedere all'istante se una chiave è stata rinominata, se un tipo di dato è passato da stringa a intero o se un oggetto annidato è stato rimosso.
Revisione dei file di configurazione. Le applicazioni moderne fanno largo uso di file di configurazione JSON, come package.json, tsconfig.json o i template di deployment in cloud. Prima di eseguire un commit, usa questo strumento per verificare esattamente quali dipendenze sono state aggiornate o quali impostazioni sono state modificate.
Audit dei record del database. I database documentali come MongoDB memorizzano i record in strutture simili a JSON. Se devi verificare come è cambiato nel tempo uno specifico profilo utente o documento, confrontare l'esportazione JSON storica con lo stato attuale fornisce un chiaro tracciamento dei campi aggiunti, rimossi e modificati.
Interpretare l'output
Dopo aver incollato del JSON valido in entrambi i pannelli, lo strumento genera un riepilogo e un elenco dettagliato delle modifiche:
- Aggiunti (+): Chiavi o elementi di array presenti nel JSON modificato ma non nell'originale. Sono evidenziati in verde.
- Rimossi (−): Chiavi o elementi di array presenti nel JSON originale ma assenti nella versione modificata. Sono evidenziati in rosso.
- Modificati (~): Chiavi presenti in entrambi, ma con valori diversi (es. una stringa è stata aggiornata, o un booleano è passato da
trueafalse). Sono evidenziati in giallo e mostrano sia il vecchio che il nuovo valore.
Se devi condividere i risultati del confronto con un collega o incollarli in un bug report, puoi usare il pulsante Copia. Questo copierà un riepilogo pulito in puro testo di ogni percorso modificato e dei relativi valori.
Per ulteriori elaborazioni, potresti voler formattare prima i dati non formattati usando il JSON Formatter, oppure, una volta definita la struttura del tuo JSON, generare le definizioni dei tipi usando il convertitore JSON to TypeScript.