Analyse
JSON Diff
JSON Diff vergleicht zwei JSON-Dokumente und hebt Unterschiede auf Wert- und Schlüsselebene hervor. Das Tool zeigt hinzugefügte (grün), entfernte (rot) und geänderte (gelb) Felder mit dem vollständigen JSON-Pfad (Dot-Notation oder JSON Pointer nach RFC 6901). Es ist unerlässlich für die Versionierung von API-Antworten, Konfigurationsdifferenzen und Debugging von Datenpipelines.
Was ist JSON Diff?
JSON Diff bezeichnet den strukturellen Vergleich zweier JSON-Dokumente auf Ebene der Schlüssel-Wert-Paare. Im Gegensatz zu einem einfachen Textvergleich (diff) ist JSON Diff semantisch: Objekte mit unterschiedlicher Schlüsselreihenfolge gelten als identisch, da JSON-Objekte per Spezifikation (RFC 8259) ungeordnet sind. Ein JSON-Diff-Algorithmus traversiert beide Bäume rekursiv und identifiziert: hinzugefügte Schlüssel (im zweiten, nicht im ersten Dokument), entfernte Schlüssel (im ersten, nicht im zweiten), geänderte Werte (Schlüssel vorhanden, Wert unterschiedlich) und unveränderte Felder. Arrays werden positionsbasiert verglichen, optionally auch mit Schlüssel-basierter Identifikation.
Wie funktioniert das Tool?
Das Tool parst beide JSON-Eingaben und baut daraus abstrakte Syntaxbäume auf. Anschließend wird ein rekursiver Differenzalgorithmus angewendet: Für jedes Schlüssel-Wert-Paar im ersten Objekt wird geprüft, ob der Schlüssel im zweiten vorhanden ist und ob der Wert identisch ist. Für Objekte erfolgt die Prüfung rekursiv, für Arrays positionsbasiert. Das Ergebnis wird als annotiertes JSON dargestellt, wobei jede Differenz mit ihrem vollständigen Pfad (z. B. user.address.city oder /user/0/name) angezeigt wird. Die Darstellung nutzt Farben: grün für Hinzufügungen, rot für Löschungen und gelb/orange für Änderungen.
Typische Anwendungsfälle
- API-Versionierung – Änderungen zwischen v1- und v2-Antworten sichtbar machen
- Konfigurationsdiffs – Unterschiede zwischen Staging- und Produktionskonfiguration prüfen
- Datenbankmigration validieren – JSON-Dokumente vor und nach Migration vergleichen
- CI/CD-Pipelines – automatisierte Prüfung ob API-Responses sich zwischen Builds verändert haben
Schritt-für-Schritt-Anleitung
- Schritt 1: Erstes JSON-Dokument in das linke Eingabefeld einfügen.
- Schritt 2: Zweites JSON-Dokument in das rechte Eingabefeld einfügen.
- Schritt 3: Vergleich starten – das Tool validiert beide JSONs und berechnet die Unterschiede.
- Schritt 4: Ergebnisse nach Pfad, Typ (hinzugefügt/entfernt/geändert) und Wert auswerten.
Beispiel
Eingabe
Links: {"name":"Alice","age":30,"city":"Berlin"}
Rechts: {"name":"Alice","age":31,"email":"alice@example.com"}
Ausgabe
Geändert: age: 30 → 31 Hinzugefügt: email: "alice@example.com" Entfernt: city: "Berlin"
Tipps & Hinweise
- Tipp: Formatieren Sie beide JSON-Dokumente vor dem Vergleich – das erleichtert die Lesbarkeit und reduziert Fehlerquellen durch unterschiedliche Einrückungen.
- Tipp: Bei Arrays von Objekten hilft es, einen gemeinsamen Schlüssel (z. B. 'id') als Identifikator zu verwenden – manche Diff-Tools unterstützen dies für stabilere Vergleiche.
- Tipp: JSON Diff ist nicht dasselbe wie JSON Patch (RFC 6902) – JSON Patch ist ein standardisiertes Format für Änderungsoperationen, während Diff die Unterschiede nur visualisiert.
Häufige Fragen
Warum gelten JSON-Objekte mit unterschiedlicher Schlüsselreihenfolge als identisch?
Laut RFC 8259 (JSON-Spezifikation) sind JSON-Objekte ungeordnete Sammlungen von Schlüssel-Wert-Paaren. Die Reihenfolge der Schlüssel hat keine semantische Bedeutung. Ein semantisch korrekter JSON-Diff ignoriert daher Reihenfolgeunterschiede bei Objekten – anders als ein einfacher Textvergleich.
Wie werden Arrays verglichen?
Arrays sind in JSON geordnet (RFC 8259), daher erfolgt der Vergleich positionsbasiert: Element an Index 0 wird mit Element an Index 0 verglichen usw. Ein verschobenes Element gilt als Änderung an der entsprechenden Position, nicht als dasselbe Element an neuer Stelle.
JSON Diff
Vergleiche zwei JSON-Objekte und sieh die Unterschiede auf einen Blick – mit farblicher Hervorhebung und Pfad-Übersicht.
Tool öffnen