Zum Hauptinhalt springen
Bethemesh

JSON vergleichen

Vergleiche zwei JSON-Dokumente und erkenne Unterschiede. Alle Verarbeitung erfolgt lokal in deinem Browser.

  • Zwischenablage
  • Export

Dieses Widget einbetten

Passe die Darstellung an, prüfe die Vorschau und kopiere anschließend den Code.

Vorschau

Art des Einbettungscodes

Zu kopierender Code

Responsive und automatisch von Bethemesh in der Größe angepasst.

War dieses Werkzeug hilfreich?

Wie funktioniert dieses Tool?

Vergleiche zwei JSON-Dokumente nach Vereinheitlichung von Layout und Eigenschaftsreihenfolge. Eine einzeilige API-Antwort kann dadurch einer anders eingerückten Antwort entsprechen. Werttypen und Arrayreihenfolge bleiben wichtig: "1" ist nicht die Zahl 1, und eine umsortierte Liste ist verschieden. Beide Quellen bleiben im Browser. Das Ergebnis ist ein lesbarer Textbericht, kein neues JSON-Dokument und kein automatisch anwendbarer Patch.

Beide Eingaben müssen gültige JSON-Syntax verwenden. Die Engine analysiert Werte, sortiert Objektschlüssel rekursiv und serialisiert sie mit einheitlichem Layout. Präsentationsabstände und die geschriebene Eigenschaftsreihenfolge erzeugen dadurch keine künstlichen Unterschiede. Leerzeichen innerhalb von Zeichenketten bleiben bedeutsam.

Arrays werden nicht sortiert und ihre Objekte nicht anhand einer Kennung zugeordnet. Ein verschobener Eintrag bleibt ein Unterschied. Zeichenketten, Zahlen, boolesche Werte und null werden als analysierte Werte verglichen. Ein fehlender Schlüssel unterscheidet sich von null. Bei doppelten Namen bleibt durch das JSON-Einlesen der letzte Wert erhalten; vermeide solche Mehrdeutigkeit.

Bei Unterschieden vergleicht die Engine jeweils Zeilen derselben Position. - bezeichnet die erste Quelle, + die zweite; gemeinsame Zeilen beginnen mit Leerzeichen. Ein Einfügen kann mehrere Zeilen verschieben und einen längeren Bericht als die kleinste logische Änderung erzeugen. Das ist weder ein semantischer Pfadvergleich noch JSON Patch.

Nicht sichere JavaScript-Ganzzahlen und nicht endliche Zahlen werden abgelehnt, damit unterschiedliche gerundete Kennungen nicht fälschlich gleich erscheinen. Dezimalwerte unterliegen weiterhin der Browsergenauigkeit. Nutze vertraglich vorgesehene Zeichenketten für lange Kennungen und einen Textvergleich für exakt geschriebene Tokens.

Eine unveränderte Reihenfolge von Arrayelementen gehört zum Vergleichsvertrag. Wenn deine Anwendung Listen als ungeordnete Mengen behandelt, musst du diese Entscheidung vor dem Vergleich ausdrücklich abbilden. Der Vergleich errät keine fachlichen Schlüssel und entfernt keine wechselnden Zeitstempel.

So verwenden Sie dieses Tool

  1. Beide Versionen bereitstellen

    Importiere oder kopiere jedes Dokument in sein Feld. Mit der Referenz zuerst steht - für alte und + für neue Werte.

  2. Normalisierten Vergleich ausführen

    Lies Gleichheitsmeldung oder Bericht. Eine abgelehnte Zahl zeigt eine Darstellungsgrenze, keinen berechneten Unterschied zwischen den Werten.

  3. Kontext prüfen und exportieren

    Prüfe benachbarte Zeilen, bevor du mehrere unabhängige Änderungen annimmst. Kopiere oder lade den .txt-Bericht herunter. Quellenänderungen blenden alte Ergebnisse aus.

Anwendungsfälle

API-Antworten vergleichen

Blende Layoutunterschiede aus, um Werteänderungen zu untersuchen. Arraypositionen bleiben erhalten, wenn sie zum Vertrag gehören.

JSON-Konfiguration prüfen

Vergleiche Referenz und Änderung, ohne Einrückung mit geänderten Daten zu verwechseln. JSON5-Kommentare werden nicht unterstützt.

Typwechsel erkennen

Finde Zahlen, die zu Zeichenketten wurden, oder boolesche Werte, die durch Text ersetzt wurden, auch wenn die Anzeige ähnlich aussieht.

Beispiele

Eigenschaftsreihenfolge ignorieren

Beide Objekte besitzen dieselben Schlüssel und Werte. Die unterschiedliche Reihenfolge erzeugt nach Normalisierung keinen Strukturunterschied.

Eingabe

{"b":2,"a":1}
{"a":1,"b":2}

Ergebnis

Die JSON-Dokumente sind gleichwertig.

Zahl und Zeichenkette unterscheiden

Die entfernte Zeile enthält eine Zahl, die hinzugefügte eine Zeichenkette. Anführungszeichen zeigen einen echten Typwechsel.

Eingabe

{"id":1}
{"id":"1"}

Ergebnis

  {
-   "id": 1
+   "id": "1"
  }

Tipps und bewährte Vorgehensweisen

  • Entferne veränderliche Felder nur passend zum Vergleichsziel. Zeitstempel werden nicht automatisch ignoriert.
  • Ein großer Bericht kann von verschobenen Zeilen stammen. Suche zuerst die erste Abweichung.
  • Nutze den Tabellenvergleich für eine Zuordnung von Zeilen über Schlüssel statt Positionen.
  • Gleichwertige Dokumente können beide gegen einen API-Vertrag verstoßen. Prüfe das Schema getrennt.

Quellen und Referenzen

Häufig gestellte Fragen

Warum gelten anders formatierte Dateien als gleichwertig?

Verglichen werden Werte nach Sortierung der Objekteigenschaften und Vereinheitlichung des Layouts. Präsentationsabstände und Schlüsselreihenfolge verändern ein Objekt nicht.

Werden Arrays unabhängig von ihrer Reihenfolge verglichen?

Nein. Die Elementreihenfolge bleibt bedeutsam. Die Engine sucht keine id-Felder und ordnet verschobene Objekte nicht automatisch zu.

Kann ich den Bericht als JSON Patch anwenden?

Nein. - und + beschreiben einen Textbericht auf normalisierten Dokumenten. JSON-Patch-Operationen und entsprechende Pfade sind nicht enthalten.

Warum werden einige große Zahlen abgelehnt?

JavaScript könnte unterschiedliche Ganzzahlen auf denselben Wert runden. Die Ablehnung verhindert falsche Gleichheit. Verwende Kennungen als Zeichenketten, wenn der Vertrag das erlaubt.

Verwandte Werkzeuge

Werkzeuge, die diesem ähnlich sind oder es ergänzen.

Ähnliche Werkzeuge

Formatiere, komprimiere und prüfe JSON-Daten.

EntwicklungEmpfohlenDieses Werkzeug verwenden

Prüft JSON-Dokumente gegen ein JSON Schema und zeigt Fehler mit Pfad und Regel präzise an.

EntwicklungEmpfohlenDieses Werkzeug verwenden

Vergleiche zwei Tabellen und finde Unterschiede direkt im Browser.

EntwicklungDieses Werkzeug verwenden