JSON-Dokumente vergleichen
Vergleichen Sie zwei JSON-Dokumente auf hinzugefügte, entfernte oder geänderte Werte.
Ihre Dateien werden hier auf Ihrem Gerät verarbeitet
Wir senden Ihre Datei- oder Textinhalte nicht an einen Verarbeitungsserver. Es ist kein Konto erforderlich und es gibt keine tägliche Betriebsquote. Einzelne Tools haben Größenbeschränkungen, um den Speicher Ihres Geräts zu schützen.
Eine Verbindung ist erforderlich, um die Website und ihre Ressourcen zu laden. Hosting kann technische Besuchsdaten erhalten. Favoriten speichern nur Werkzeugkennungen in diesem Browser.
Wie wir mit Ihren Daten umgehen →Wie man dieses Tool benutzt
- Fügen Sie Original- und neue Dokumente in ihre jeweiligen Felder ein.
- Anwenden, um Typen, Werte, Schlüssel und Indizes zu vergleichen.
- Überprüfen Sie Berichtspfade und laden Sie Unterschiede herunter, wenn Sie sie behalten müssen.
Ein Beispiel, das Sie überprüfen können
Erkennen Sie Wertänderungen, ohne sie mit einer geänderten Eigenschaftsreihenfolge zu verwechseln.
Beispieleingabe
Original: {"name":"Ana","active":true}
New: {"active":true,"name":"Luis"}Erwartetes Ergebnis
[{"path":"/name","change":"changed","before":"Ana","after":"Luis"}]Es gibt einen Unterschied. Bewegen aktiv fügt keine weitere hinzu. Der Bericht verwendet JSON Pointer-Pfade und ist kein ausführbarer Patch.
JSON-Dokumente vergleichen: Gebrauch und praktische Anleitung
Der strukturelle JSON-Vergleich trennt Datenänderungen von Präsentationsänderungen. Dokumente mit unterschiedlicher Einrückung oder unterschiedlich geordneten Objektelementen können genau dieselben Werte darstellen. Das Tool analysiert beide Dokumente und vergleicht deren Inhalt. Wenn sich nichts unterscheidet, ist der Bericht ein leeres Array und der Zähler zeigt Null an. Dies bedeutet nicht, dass die Originaldateien Byte-für-Byte identisch sind: Whitespace, Zeilenenden oder numerische Notation können sich unterscheiden, während der gleiche interpretierte Wert erzeugt wird. Verwenden Sie einen Klartextvergleich, wenn diese Darstellungsdetails Gegenstand der Überprüfung sind.
Arrays werden nach Position verglichen. Wenn Sie zwei Elemente vertauschen, können mehrere Änderungen entstehen, obwohl beide Elemente noch vorhanden sind. Objekte werden nicht automatisch über Felder wie id zugeordnet. Das Werkzeug berechnet auch keine minimale Folge von Listenänderungen. Für ungeordnete Mengen bereiten Sie zuerst eine nach einem ausdrücklich gewählten Schlüssel sortierte Darstellung vor. Datentypen sind ebenfalls wichtig: 1 unterscheidet sich von "1", false ist nicht gleich 0 und eine fehlende Eigenschaft unterscheidet sich von einer vorhandenen Eigenschaft mit dem Wert null. Wird ein ganzes Objekt durch eine Zeichenfolge ersetzt, erscheint dies als Wertänderung an diesem Pfad und nicht als einzelne Änderung jedes früheren untergeordneten Elements.
Jede Abweichung enthält path und change. Hinzugefügte Eigenschaften enthalten after, entfernte Eigenschaften before und geänderte Werte beide Felder. Die Pfade verwenden JSON-Pointer-Syntax: Schrägstriche und Tilden in Eigenschaftsnamen werden als ~1 und ~0 codiert. Ein leerer Pfad bezeichnet die Dokumentwurzel, wenn sich Typ oder Wert des gesamten Dokuments ändert. Der Bericht beschreibt Unterschiede und verwendet nicht das JSON-Patch-Format. Führen Sie ihn daher nicht als Anweisungsfolge zur Aktualisierung eines anderen Dokuments aus. Behalten Sie beide Originale, damit Sie den Vergleich wiederholen und den Zusammenhang jeder gemeldeten Änderung prüfen können, bevor Sie andernorts Daten bearbeiten.
Parsing weist doppelte Schlüssel und ganze Zahlen zurück, deren Größe nicht sicher dargestellt werden kann. JSON verwendet die numerische Präzision des Browsers; Ursprungssysteme sollten Zeichenfolgen für lange Identifikatoren verwenden, während genaue Dezimalberechnungen ein geeignetes domänenspezifisches System erfordern. Jedes Dokument unterstützt bis zu einer Million Zeichen und hundert Verschachtelungsebenen. Wenn mehr als tausend Unterschiede auftreten, werden kleinere Abschnitte benötigt, anstatt einen unvollständigen Bericht zu präsentieren, der vollständig aussieht. Bevor Sie eine lange Antwort überprüfen, versuchen Sie einen geänderten Namen, ein entferntes Mitglied und ein neu geordnetes Array, um zu verstehen, wie diese Fälle in der Ausgabe erscheinen und welche Details für Ihren Vergleich relevant bleiben.
Optionen und Grenzen
Fügen Sie zwei gültige JSON-Dokumente ein. Objekteigenschaftsreihenfolge wird ignoriert; Arrayreihenfolge zählt. Unterschiede werden mithilfe von JSON Pointer Pfaden identifiziert. Doppelte Schlüssel und unsichere ganze Zahlen werden abgelehnt. Maximal 1 Millionen Zeichen pro Dokument, 100 Verschachtelungsstufen und 1,000 Unterschiede.
Häufige Fragen
Ist eine Zahl gleich einem String?
Nein. Die Zahl 1 unterscheidet sich von der Zeichenfolge "1". Einrückungsänderungen zählen nicht als Unterschiede.