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
- Semantischer, von der Schlüsselreihenfolge unabhängiger Diff – umsortierte Objektschlüssel werden nicht als Änderungen markiert
- Meldet hinzugefügte, entfernte, geänderte und im Typ veränderte Werte, jeweils mit einem Pfad wie user.roles[2]
- Unterscheidet eine echte Typänderung (1 vs. "1", null vs. ein Wert) von einer gewöhnlichen Wertänderung
- Zusammenfassungszähler zeigen auf einen Blick, wie viele Einträge hinzugefügt, entfernt und geändert wurden
- Die Option Array-Reihenfolge ignorieren vergleicht Arrays als Multimengen von Werten statt nach Position
- Schlüssel-sortieren-Normalisierung für einen sauberen Nebeneinander-Vergleich beider formatierter Dokumente
- Nebeneinander-Ansicht mit Syntaxhervorhebung beider verschönerter JSON-Dokumente
- Kopiere den gesamten Diff als Klartext-Zusammenfassung oder leere beide Eingaben mit einem Klick
So verwendest du JSON Diff
- Füge das ursprüngliche JSON in das Feld Original auf der linken Seite ein.
- Füge das aktualisierte JSON in das Feld Geändert auf der rechten Seite ein.
- Lies den farbigen Diff: Grün für hinzugefügt, Rot für entfernt, Bernstein für geänderte Werte.
- Aktiviere Array-Reihenfolge ignorieren oder Schlüssel sortieren, wenn die Reihenfolge nicht als Unterschied zählen soll.
- 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
- Das Tool zeigt "Invalid JSON on the left side" oder die rechte Seite. — Korrigiere das markierte Dokument – der Fehler nennt, welche Seite fehlgeschlagen ist und warum. Jede Eingabe muss ein vollständiger, gültiger JSON-Wert sein (Objekt, Array, String, Zahl, true/false oder null).
- Das Umsortieren der Elemente eines Arrays erscheint als viele geänderte Einträge. — Aktiviere Array-Reihenfolge ignorieren, damit Arrays als Wertemengen verglichen werden; ohne diese Option werden Arrays nach Position verglichen und ein Umsortieren zählt als Änderungen.
- 1 und "1" werden als unterschiedlich gemeldet, obwohl sie gleich aussehen. — Das ist eine Typänderung: Der linke Wert ist eine Zahl und der rechte ein String. JSON Diff trennt Typänderungen absichtlich von Wertänderungen, damit sie leicht zu erkennen sind.
- Zwei Objekte mit denselben Schlüsseln in anderer Reihenfolge werden als geändert gemeldet. — Das sollten sie nicht – der Diff ist von der Schlüsselreihenfolge unabhängig. Wenn du das siehst, hat eine Seite wahrscheinlich einen zusätzlichen oder fehlenden Schlüssel, oder ein Wert weicht ab; prüfe den gemeldeten Pfad.
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
- Text vergleichen — Vergleiche zwei Texte Zeile für Zeile und sieh Hinzufügungen und Löschungen.
- JSON-Formatierer — JSON verschönern, minimieren und validieren – mit Fehlerposition.
- JSON-Viewer — Text- und einklappbare Baumansicht mit Ein-/Ausklappen und Knotenpfaden.
- JSON-Baumansicht — Durchstöbere JSON als einklappbaren, typisierten Baum.
- YAML ↔ JSON — Konvertiere YAML zu JSON und zurück.
- JSON escapen / entescapen — Escape Text zu einem JSON-String oder entescape einen JSON-String zu reinem Text.
- PDF vergleichen — Vergleiche den extrahierten Text zweier PDFs Zeile für Zeile.
- JSON zu CSV — Konvertiere ein Array flacher JSON-Objekte in CSV.
Alle ArrayKit-Tools