Zum Inhalt springen

JSON vergleichen

JSON Diff

Vergleicht zwei JSON-Dokumente strukturell, ignoriert die Schlüsselreihenfolge und meldet hinzugefügte, entfernte und geänderte Pfade.

Vergleicht zwei JSON-Dokumente strukturell statt als Text, sodass ein umsortierter Schlüssel oder eine andere Einrückung kein Unterschied ist. Die Ausgabe ist sowohl eine lesbare Tabelle dessen, was sich geändert hat, als auch ein RFC-6902-Patch, der das linke Dokument exakt in das rechte überführt.

🔒 Läuft vollständig in Ihrem Browserjsondiffcompare
Arrays

Richtet die beiden Arrays zuerst aneinander aus, damit ein Einfügen eine Änderung ist und nicht hundert.

Links

Rechts

So funktioniert es

  1. Fügen Sie beide Dokumente ein

    Zwei API-Antworten, zwei Konfigurationen, ein Vorher und ein Nachher. Der Vergleich läuft in einem Worker und aktualisiert sich, während Sie tippen.

  2. Wählen Sie, wie Arrays verglichen werden

    Das ist die Einstellung, die entscheidet, ob das Ergebnis brauchbar ist. Ausrichten bringt die beiden Arrays zuerst in Deckung, sodass ein eingefügtes Element eine Änderung ist. Nach Index vergleicht Position für Position, was richtig ist, wenn die Reihenfolge die Daten ist. Nach Schlüssel ordnet Elemente über ein benanntes Mitglied zu – die Antwort, wenn zwei Antworten dieselben Dinge in anderer Reihenfolge auflisten.

  3. Entscheiden Sie, ob null „fehlend“ bedeutet

    Manche Serialisierer lassen ein leeres Feld weg, manche schreiben `null`. Wenn Sie Ausgaben aus zwei verschiedenen Stacks vergleichen, entfernt das Einschalten eine Seite voller falscher Unterschiede.

  4. Nehmen Sie die Tabelle, oder nehmen Sie den Patch

    Die Tabelle ist zum Lesen; der Patch ist zum Anwenden. Pfade in beiden sind RFC-6901-Pointer, sodass sie sich in jedes Werkzeug einfügen lassen, das JSON Patch spricht.

Häufige Fragen

Warum erscheint ein eingefügtes Array-Element als hundert Änderungen?

Weil der Array-Modus Nach Index ist, sodass Element 1 mit Element 2 verglichen wird und alles verschiebt sich. Wechseln Sie zu Ausrichten, das die Arrays zuerst in Deckung bringt, oder zu Nach Schlüssel, wenn die Elemente eine ID haben.

Kann ich den Patch hier anwenden?

Nein, diese Seite erzeugt ihn nur. Aber der Patch ist exakt: Auf das linke Dokument angewendet ergibt er im Datenmodell Byte für Byte das rechte, und dieser Hin- und Rückweg ist es, was die Testsuite bei jeder Änderung prüft.

Es sagt, die beiden Dokumente stünden in keinem Zusammenhang.

Diese Meldung erscheint, wenn der Vergleich zwanzigtausend Änderungen überschreitet und abbricht. An dem Punkt sagt Ihnen das Diff nichts Nützliches mehr – Sie vergleichen zwei verschiedene Dokumente statt zwei Versionen von einem.

Spielt die Reihenfolge der Schlüssel je eine Rolle?

Für dieses Werkzeug nicht – JSON-Objekte sind ungeordnet, sodass zwei Dokumente, die sich nur in der Schlüsselreihenfolge unterscheiden, als identisch gemeldet werden. Wenn die Schlüsselreihenfolge für Ihren Abnehmer zählt, verlässt sich dieser Abnehmer auf etwas, das JSON nicht verspricht.

Eingabe aus

Danach

Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.