Zum Inhalt springen
SDETRole
SDETRole

JSON & Daten

JSON Diff Checker

Zwei JSON-Dokumente semantisch vergleichen, mit Pfad je Änderung.

Läuft vollständig in Ihrem Browser Ohne Anmeldung

Original (expected)

Modified (actual)

Paste two JSON documents to compare them

Key order is always ignored. Tick “Ignore array order” to compare arrays as unordered sets.

Über dieses Tool

Ein reiner Text-Diff zweier API-Responses ist voller Rauschen: Umsortierte Keys und anderer Whitespace erscheinen als Änderungen, obwohl die Daten identisch sind. Dieser Checker parst beide Dokumente und vergleicht ihre Struktur, sodass nur echte Unterschiede gemeldet werden. Jeder Unterschied erscheint mit einer Position im JSONPath-Stil ($.user.roles[1]) und einem Typ: added (hinzugefügt), removed (entfernt), changed (geändert) oder type-changed (Typ geändert). Letzteres ist der klassische Bug "49.99" gegenüber 49.99. Nutzen Sie ihn, um eine fehlschlagende Assertion zu erklären, eine Vertragsänderung zwischen API-Versionen zu prüfen oder ein Snapshot-Update vor dem Übernehmen zu kontrollieren.

So funktioniert es

  1. Fügen Sie links das erwartete (oder ältere) und rechts das tatsächliche (oder neuere) JSON ein, oder klicken Sie auf „Load sample“ (Beispiel laden).
  2. Lesen Sie die Änderungsliste: Jede Zeile zeigt Änderungstyp, Pfad und die Werte vorher → nachher.
  3. Aktivieren Sie „Ignore array order“ (Array-Reihenfolge ignorieren), wenn Arrays eigentlich Mengen sind, etwa Rollen, Tags oder unsortierte Suchergebnisse.
  4. Wechseln Sie zu „Side by side“ (nebeneinander) oder „Unified“, um die Änderungen im Kontext zu sehen; beide Ansichten sortieren die Keys vorher, damit Umsortierungen nicht gemeldet werden.

FAQ zu JSON Diff Checker

Was ist der Unterschied zwischen „changed“ und „type-changed“?

„changed“ bedeutet, dass sich der Wert unterscheidet, der JSON-Typ aber gleich ist, etwa "pending" wird zu "shipped". „type-changed“ bedeutet, dass sich der Typ selbst unterscheidet, etwa eine Zahl wird zum String oder ein Objekt zu null. Typänderungen sind oft Vertragsbugs, die streng typisierte Clients brechen, selbst wenn der Wert gleich aussieht.

Wie werden Arrays verglichen, wenn „Ignore array order“ aktiv ist?

Jedes Element links wird einem tief gleichen Element rechts zugeordnet. Übrig gebliebene Elemente werden an ihrem eigenen Index als entfernt oder hinzugefügt gemeldet. Duplikate zählen, [1, 2, 2] und [2, 1] unterscheiden sich also weiterhin. Da Elemente über vollständige Gleichheit zugeordnet werden, erscheint ein geändertes Objekt in einem unsortierten Array als eine Entfernung plus eine Hinzufügung.

Kann ich diese Pfade in meinen Tests verwenden?

Ja. Die Pfade verwenden Punktnotation für einfache Keys und Klammernotation für Keys mit Leerzeichen oder Sonderzeichen. Das funktioniert im JSONPath Tester und lässt sich direkt auf JSONPath-Assertions in Tools wie REST Assured oder Postman übertragen.

Tippen Sie, um SDETRole zu durchsuchen.

Volltextsuche mit Pagefind · läuft in Ihrem Browser Suchseite öffnen →