Was dieses Werkzeug tut
Es normalisiert beide Seiten — zwei Leerzeichen Einrückung, Schlüssel sortiert —, vergleicht sie dann Zeile für Zeile und zeigt das Ergebnis als Unified Diff:
@@ -2,4 +2,4 @@
"host": "localhost",
- "port": 8080,
+ "port": 3000,
"tls": true
- ist das Original, + das Geänderte, und die @@-Zeile nennt den Bereich. Es ist das Format, das git diff und patch sprechen.
Was als Unterschied zählt
| Unterschied? | |
|---|---|
| Einrückung, Zeilenumbrüche | nein |
| Schlüsselreihenfolge in einem Objekt | standardmäßig nein |
| Elementreihenfolge in einem Array | ja |
| Ein geänderter Wert | ja |
Objekte und Arrays werden verschieden behandelt, weil JSON sie verschieden behandelt: ein Objekt ist eine ungeordnete Menge von Paaren, ein Array eine Folge. Die Schlüssel eines Objekts umzuordnen ergibt denselben Wert; die Elemente eines Arrays umzuordnen einen anderen.
Bis zur letzten Ziffer
{ "id": 12345678901234567890 }
{ "id": 12345678901234567891 }
Diese beiden Dokumente unterscheiden sich, und dieses Werkzeug sagt es.
Das gehört geschrieben, weil es nicht immer so war. Beide Seiten über ein gewöhnliches JSON-Parsen zu normalisieren schickte jede Zahl durch eine Gleitkommazahl doppelter Genauigkeit, und die beiden Kennungen — zwanzig Ziffern, nur in der letzten verschieden — fielen zu einem Wert zusammen. Der Diff kam leer zurück, was sich als kein Unterschied liest.
Ein leerer Diff ist eine Behauptung, kein Achselzucken. Ein Vergleichswerkzeug ist genau das, von dem man verlangt zu sehen, was das Auge nicht sieht: beide Seiten werden nun verlustfrei gelesen und so verglichen, wie sie geschrieben stehen.
Doppelte Schlüssel werden gemeldet
Wiederholt eines der beiden Dokumente einen Schlüssel, hält der Vergleich an und sagt es — genau wie der JSON-Formatierer. Nur den letzten jedes Schlüssels zu behalten, was die meisten Parser lautlos tun, ließe einen echten Unterschied zwischen den Dateien verschwinden, bevor der Vergleich überhaupt beginnt.
Datenschutz ab Werk
Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.