Confronto fra due JSON
JSON Diff
Confronta due documenti JSON per struttura, ignorando l’ordine delle chiavi e riportando i percorsi aggiunti, tolti e cambiati.
Confronta due documenti JSON in modo strutturale invece che come testo, così una chiave riordinata o un’indentazione diversa non sono una differenza. L’uscita è sia una tabella leggibile di che cosa è cambiato sia una patch RFC 6902 che trasforma esattamente il documento di sinistra in quello di destra.
Prima allinea i due array, così un inserimento vale una modifica e non cento.
Sinistra
Destra
Come si usa
Incollare entrambi i documenti
Due risposte di API, due configurazioni, un prima e un dopo. Il confronto gira in un worker e si aggiorna mentre si scrive.
Scegliere come confrontare gli array
È l’impostazione che decide se il risultato sia utile. Allinea mette prima in corrispondenza i due array, così inserire un elemento è una sola modifica. Per indice confronta posizione per posizione, che è giusto quando l’ordine è il dato. Per chiave accoppia gli elementi su un membro indicato per nome: la risposta quando due risposte elencano le stesse cose in ordine diverso.
Decidere se null significhi assente
Alcuni serializzatori omettono un campo vuoto e altri scrivono `null`. Se si confronta l’uscita di due stack diversi, accendere questa opzione toglie una pagina di differenze false.
Prendere la tabella, oppure la patch
La tabella serve a leggere; la patch serve ad applicare. I percorsi in entrambe sono puntatori RFC 6901, quindi si incollano in qualunque strumento che parli JSON Patch.
Domande frequenti
Perché un solo elemento inserito in un array compare come cento modifiche?
Perché la modalità array è Per indice, quindi l’elemento 1 viene confrontato con l’elemento 2 e tutto si sposta. Meglio passare ad Allinea, che mette prima in corrispondenza gli array, oppure a Per chiave se gli elementi hanno un id.
Si può applicare la patch qui?
No, questa pagina la produce soltanto. Ma la patch è esatta: applicarla al documento di sinistra dà quello di destra byte per byte nel modello di dati, ed è quel giro completo che la suite di test verifica a ogni modifica.
Dice che i due documenti non sono imparentati.
Quel messaggio compare quando il confronto supera le ventimila modifiche e si ferma. A quel punto il diff non dice più niente di utile: si stanno confrontando due documenti diversi, non due versioni dello stesso.
L’ordine delle chiavi conta mai?
Non per questo strumento: gli oggetti JSON non sono ordinati, quindi due documenti che differiscono solo nell’ordine delle chiavi vengono riportati come identici. Se l’ordine delle chiavi conta per chi li consuma, quel consumatore si sta appoggiando a qualcosa che JSON non promette.
Può ricevere da
Confronto tra due testi
Text Diff
Confronta due testi affiancati o su una riga sola, per righe, per parole o per singoli caratteri.
Formattatore e validatore JSON
JSON Formatter & Validator
Formatta, minifica e valida il JSON, indicando riga e colonna esatte di un errore di sintassi.
Banco di prova per JSONPath
JSONPath Tester
Esegue un’espressione JSONPath su un documento ed evidenzia i nodi corrispondenti mentre scrivi.
Confronto fra documenti OpenAPI
OpenAPI Diff
Confronta due documenti OpenAPI e separa le modifiche che rompono la compatibilità da quelle che aggiungono soltanto.
Dopo
Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.
Formattatore e validatore JSON
JSON Formatter & Validator
Formatta, minifica e valida il JSON, indicando riga e colonna esatte di un errore di sintassi.
Banco di prova per JSONPath
JSONPath Tester
Esegue un’espressione JSONPath su un documento ed evidenzia i nodi corrispondenti mentre scrivi.
Confronto fra documenti OpenAPI
OpenAPI Diff
Confronta due documenti OpenAPI e separa le modifiche che rompono la compatibilità da quelle che aggiungono soltanto.
Confronto tra due testi
Text Diff
Confronta due testi affiancati o su una riga sola, per righe, per parole o per singoli caratteri.
Codificatore e decodificatore Base64
Base64 Encoder & Decoder
Codifica e decodifica in Base64 e Base64URL testo o file, trattando correttamente l’UTF-8.
Da curl a codice
curl to Code
Converte un comando curl in fetch, axios, requests di Python, Go, PHP o PowerShell.