Mit JSON vergleichen findest du in Sekunden heraus, was sich zwischen zwei JSON-Dokumenten geändert hat. Du fügst JSON A und JSON B ein, das Tool vergleicht beide rekursiv Schlüssel für Schlüssel – bis in verschachtelte Objekte und Arrays hinein – und listet jede Abweichung mit vollständigem Pfad auf. Praktisch, um API-Antworten, Konfigurationsdateien oder zwei Versionsstände einer Datenstruktur gegenüberzustellen, ganz ohne Kommandozeile.
So funktioniert JSON vergleichen
Du trägst zwei JSON-Texte ein: JSON A und JSON B. Das Ergebnis aktualisiert sich live bei jeder Eingabe. Lässt sich einer der beiden Texte nicht als JSON lesen, erscheint „JSON A ist ungültig.“ beziehungsweise „JSON B ist ungültig.“
Sind beide gültig, vergleicht das Tool sie rekursiv Schlüssel für Schlüssel, auch in verschachtelten Objekten und Arrays. Jede Abweichung landet als eigene Zeile: + für einen Wert, der nur in JSON B steht, - für einen Wert, der nur in JSON A steht, und ~ für einen geänderten Wert. Sind beide JSON komplett gleich, zeigt das Tool „Die beiden JSON sind gleich.“
Pfade, Arrays und Sonderfälle
Jeder Unterschied bekommt einen Pfad: Felder der obersten Ebene heißen einfach alter, verschachtelte Felder werden mit Punkt verbunden, etwa adresse.plz. Neue Felder zeigen auch den Wert (+ land = "DE"), entfernte Felder nur den Pfad ohne Wert (- stadt).
Arrays vergleicht das Tool nach Index, nicht nach Inhalt: Fügst du mitten im Array ein Element ein, verschieben sich alle folgenden Positionen – statt einer Ergänzung erscheinen mehrere geänderte Zeilen. Wechselt ein Wert zwischen Array und Objekt, meldet das Tool „Typ geändert“ und vergleicht dort nicht weiter in die Tiefe.
Beispiel
JSON A ist {"name":"Anna","alter":30,"stadt":"Berlin"}, JSON B ist {"name":"Anna","alter":31,"land":"DE"}. Das Feld name ist in beiden gleich „Anna“ und taucht deshalb gar nicht im Ergebnis auf. Bei alter ändert sich der Wert von 30 auf 31, stadt gibt es nur in JSON A, land nur in JSON B.
Das Ergebnis zeigt „Unterschiede: 3“ und darunter drei Zeilen: ~ alter: 30 → 31, - stadt und + land = "DE".
Wofür brauche ich das?
- API-Antworten vergleichen: Zwei Aufrufe derselben Schnittstelle zu unterschiedlichen Zeitpunkten oder Umgebungen zeigen dir sofort, welche Felder sich geändert haben.
- Konfigurationsdateien prüfen: Zwei Versionen einer JSON-Konfiguration wie einer package.json oder einer Feature-Flag-Datei lassen sich gegenüberstellen, bevor du sie zusammenführst.
- Testdaten und Fixtures abgleichen: Erwartetes und tatsächliches JSON-Ergebnis eines Tests vergleichst du Feld für Feld, auch wenn sie tief verschachtelt sind.
- Datenmigrationen kontrollieren: Nach einer Transformation zeigt der Vergleich, ob wirklich nur die gewollten Felder verändert wurden.