JSON Diff

Vergleiche zwei JSON-Dokumente und sieh einen strukturellen Diff von Hinzugefügtem, Entferntem und Geändertem – vollständig in deinem Browser.

Beide JSON-Dokumente werden lokal in deinem Browser geparst und verglichen und nie hochgeladen, aber vermeide es, Secrets oder Produktions-Zugangsdaten in irgendein Online-Tool einzufügen.

Musst du das Ergebnis umformen? Probiere den JSON Formatter.

Über JSON Diff

JSON Diff vergleicht zwei JSON-Dokumente und zeigt einen strukturellen Diff statt eines zeilenweisen Text-Diffs. Füge dein ursprüngliches JSON links und die geänderte Version rechts ein, und das Tool parst beide und meldet genau, welche Werte hinzugefügt, entfernt, geändert oder im Typ verändert wurden – jeweils mit einem Pfad wie user.roles[2]. Da der Vergleich semantisch ist, taucht das Umsortieren von Objektschlüsseln nie als Unterschied auf, sodass du nur Änderungen siehst, die wirklich zählen. Aktiviere Array-Reihenfolge ignorieren, um Arrays als Mengen zu vergleichen, oder Schlüssel sortieren, um beide Seiten in der Nebeneinander-Ansicht zu normalisieren. Es ist für Entwickler gemacht, die API-Antworten, Konfigurationsdateien und Fixtures vergleichen. Alles läuft lokal in deinem Browser, sodass das eingefügte JSON nie hochgeladen wird und auf deinem Gerät bleibt.

Funktionen

So verwendest du JSON Diff

  1. Füge das ursprüngliche JSON in das Feld Original auf der linken Seite ein.
  2. Füge das aktualisierte JSON in das Feld Geändert auf der rechten Seite ein.
  3. Lies den farbigen Diff: Grün für hinzugefügt, Rot für entfernt, Bernstein für geänderte Werte.
  4. Aktiviere Array-Reihenfolge ignorieren oder Schlüssel sortieren, wenn die Reihenfolge nicht als Unterschied zählen soll.
  5. Wechsle zur Nebeneinander-Ansicht, um beide formatierten Dokumente zu vergleichen, oder kopiere die Diff-Zusammenfassung.

Beispiel

Eingabe

// Original
{ "name": "Ada", "roles": ["admin"], "active": 1 }

// Changed
{ "active": "1", "name": "Ada", "roles": ["admin", "editor"] }

Ausgabe

+ roles[1]: "editor"
~ active: 1 → "1"   (type changed)

Umsortierte Schlüssel werden ignoriert; ein neues Array-Element wird hinzugefügt und active wechselt von Zahl zu String.

Häufige Fehler & Fehlerbehebung

Häufig gestellte Fragen

Ignoriert JSON Diff die Reihenfolge von Objektschlüsseln?
Ja. Der Vergleich ist semantisch, sodass zwei Objekte mit denselben Schlüsseln und Werten unabhängig von der Schlüsselreihenfolge gleich sind. Nur echte Hinzufügungen, Entfernungen und Wertänderungen werden gemeldet, jeweils mit ihrem Pfad.
Wie behandelt JSON Diff Arrays in einer anderen Reihenfolge?
Standardmäßig werden Arrays nach Position verglichen, sodass das Umsortieren von Elementen als Änderungen erscheint. Aktiviere Array-Reihenfolge ignorieren, um Arrays als Multimengen zu vergleichen, wobei nur tatsächlich hinzugefügte oder entfernte Elemente markiert werden.
Warum werden 1 und "1" als unterschiedlich angezeigt?
Weil ihre JSON-Typen sich unterscheiden – das eine ist eine Zahl, das andere ein String. JSON Diff bezeichnet das als Typänderung, getrennt von einer gewöhnlichen Wertänderung, damit du versehentlich als String gespeicherte Zahlen in API-Antworten erkennst.
Was bedeutet ein Pfad wie user.roles[2] im Diff?
Er zeigt auf die genaue Stelle der Änderung: den Schlüssel user, dann sein roles-Array, dann das Element am Index 2. Objektschlüssel verwenden Punkte und Array-Elemente verwenden Indizes in Klammern.
Kann ich tief verschachteltes JSON und verschachtelte Arrays vergleichen?
Ja. JSON Diff durchläuft beide Dokumente rekursiv durch verschachtelte Objekte und Arrays beliebiger Tiefe und meldet jede Änderung an ihrem vollständigen Pfad, sodass große, tief verschachtelte Payloads lesbar bleiben.
Wird das JSON, das ich in JSON Diff einfüge, irgendwohin hochgeladen?
Nein. Beide Dokumente werden vollständig in deinem Browser geparst und verglichen, sodass das eingefügte JSON – einschließlich sensibler Felder – auf deinem Gerät bleibt und nie an einen Server gesendet wird.

Verwandte Tools

Alle ArrayKit-Tools