Zum Inhalt springen
FileTinker

JSON Diff

Fügen Sie zwei JSON-Dokumente ein und sehen Sie Zeile für Zeile, was hinzugefügt oder entfernt wurde. Die Objektschlüssel werden zuerst sortiert, sodass ein umsortiertes Objekt nicht als Änderung gewertet wird. Alles läuft in Ihrem Browser, sodass Ihre Daten niemals hochgeladen werden.

So vergleichen Sie JSON

  1. Fügen Sie das ursprüngliche JSON in das linke Feld ein.
  2. Fügen Sie das geänderte JSON in das rechte Feld ein.
  3. Lesen Sie unten die hervorgehobenen Hinzufügungen und Entfernungen.

Wissenswertes zum Vergleichen von JSON

JSON mit bloßem Auge zu vergleichen ist fehleranfällig, besonders wenn Schlüssel umsortiert sind oder die Dokumente groß sind. Ein semantischer Diff normalisiert beide Seiten — sortiert die Objektschlüssel und behält dabei die Array-Reihenfolge bei — und hebt dann nur die Zeilen hervor, die sich tatsächlich unterscheiden, sodass Sie echte Änderungen statt Formatierungsrauschen sehen.

Das ist nützlich für die Prüfung von API-Antworten, Konfigurationsänderungen und Snapshot-Test-Ausgaben. Alles wird in Ihrem Browser berechnet, sodass die Daten, die Sie vergleichen — die oft echte Datensätze enthalten — Ihr Gerät niemals verlassen.

Nutzen Sie die Vergleichsfunktion, wenn zwei Umgebungen unterschiedliche Ergebnisse liefern und die Konfigurationen angeblich identisch sind – ein klassisches Beispiel sind die Konfigurationsdateien für die Test- und Produktionsumgebung. Sie ist ebenso nützlich, um Ihre eigenen Änderungen zu überprüfen: Nachdem Sie ein großes Dokument manuell bearbeitet haben, bestätigt ein Vergleich, dass Sie genau die Felder geändert haben, die Sie ändern wollten, und nichts anderes. Und wenn ein API-Update die Funktionalität eines Clients beeinträchtigt, ermöglicht der Vergleich der Antworten beider Versionen, das umbenannte oder fehlende Feld innerhalb von Sekunden zu identifizieren.

Das Verhalten, bei dem Schlüssel sortiert, aber Arrays nicht sortiert werden, entspricht der JSON-Spezifikation selbst. Ein Objekt wird als ungeordnete Sammlung definiert – zwei Objekte mit denselben Elementen sind unabhängig von der Reihenfolge, in der ein Serialisierer sie schreibt, gleich. Arrays sind hingegen per Definition geordnet: Wenn man zwei Elemente vertauscht, entsteht ein tatsächlich anderes Dokument. Die Tatsache, dass nur eines der beiden normalisiert wird, unterscheidet einen semantischen Vergleich von einem einfachen Textvergleich.

Häufige Fragen

Wie vergleiche ich zwei JSON-Dateien?

Fügen Sie das Original links ein und die geänderte Version rechts. Hinzugefügte Zeilen werden grün hervorgehoben, entfernte Zeilen rot — jeweils mit einer Zählung.

Spielt die Reihenfolge der Schlüssel eine Rolle?

Nein. Beide Seiten werden vor dem Vergleich mit sortierten Schlüsseln neu serialisiert, sodass eine geänderte Reihenfolge derselben Schlüssel keinen Unterschied ergibt — nur echte Wert- oder Strukturänderungen erscheinen.

Was ist, wenn mein JSON ungültig ist?

Das Tool zeigt Ihnen, welche Seite nicht geparst werden konnte und warum, sodass Sie es vor dem Vergleich korrigieren können.

Werden meine Daten hochgeladen?

Nein. Der Vergleich läuft vollständig in Ihrem Browser; nichts wird an einen Server gesendet.

Warum werden Werte, die identisch aussehen, als geändert angezeigt?

Normalerweise handelt es sich um einen Unterschied im Datentyp. Die Zeichenkette „1“ und die Zahl 1 werden fast identisch ausgegeben, sind aber unterschiedliche JSON-Werte. Dasselbe gilt für „true“ im Gegensatz zu `true` oder „null“ im Gegensatz zu `null`. Dies führt häufig zu Problemen bei Daten, die aus Tabellenkalkulationen oder Formulareingaben exportiert werden, wo alles als Zeichenkette ankommt. Der Vergleich zeigt die Wahrheit – prüfen Sie die Anführungszeichen um den geänderten Wert.