So funktioniert es
- Fügen Sie das ursprüngliche JSON links und das geänderte JSON rechts ein.
- Legen Sie fest, ob die Reihenfolge in Arrays zählt.
- Lesen Sie die Liste der hinzugefügten (+), entfernten (−) und geänderten (~) Werte oder kopieren Sie sie mit „Bericht kopieren“.
Optionen erklärt
- Nach Position vergleichen
- Array-Elemente werden einzeln der Reihe nach verglichen. Ein am Anfang eingefügtes Element verändert daher jede nachfolgende Position.
- Reihenfolge ignorieren
- Arrays werden als ungeordnete Sammlungen behandelt; gemeldet werden nur Elemente, die auf einer Seite vorkommen und auf der anderen nicht. Praktisch für Listen von IDs, Tags oder Datensätzen.
- Pfade
- Pfade verwenden die JSONPath-Notation: $ ist die Wurzel, .key eine Eigenschaft, [0] ein Array-Element und ["a b"] ein Schlüssel, der kein einfacher Name ist.
Beispiel
Nehmen Sie diese zwei Dokumente, bei denen die Schlüssel in anderer Reihenfolge stehen und einige Werte abweichen:
{"name": "Ada", "age": 36, "tags": ["x", "y"], "address": {"city": "Rome"}, "first name": "A"}
{"age": 37, "name": "Ada", "tags": ["y", "x"], "address": {"city": "Rome", "zip": "00100"}, "first name": "B", "role": "admin"}
Beim Vergleich nach Position ist das Ergebnis:
| Änderung | Pfad | Vorher | Nachher |
|---|---|---|---|
| ~ | $.age |
36 | 37 |
| ~ | $.tags[0] |
“x” | “y” |
| ~ | $.tags[1] |
“y” | “x” |
| + | $.address.zip |
“00100” | |
| ~ | $["first name"] |
“A” | “B” |
| + | $.role |
“admin” |
Mit eingeschaltetem „Reihenfolge ignorieren“ verschwinden die beiden Änderungen bei den Tags, weil beide Arrays dieselben zwei Werte enthalten. Die Reihenfolge der Schlüssel hat in keinem der beiden Modi eine Auswirkung. Ein Wert, der den Typ wechselt, etwa eine Zahl, die zu einer Zeichenkette wird, oder ein Objekt, das zu einem Array wird, wird als eine einzige Änderung an seinem eigenen Pfad gemeldet.
Häufig gestellte Fragen
Worin unterscheidet sich das von einem Text-Diff?
Ein Text-Diff vergleicht Zeilen, daher erscheinen Formatierung und Schlüsselreihenfolge als Änderungen. JSON vergleichen parst beide Seiten und vergleicht die Daten selbst.
Gelten 1 und "1" als gleich?
Nein. Eine Zahl und ein String sind unterschiedliche JSON-Werte, daher wird die Änderung mit beiden Werten gemeldet.
Werden meine Daten hochgeladen?
Nein. Beide Dokumente werden in Ihrem Browser verglichen.
Datenschutz
Dieses Tool läuft vollständig in Ihrem Browser. Ihre Dateien und Texte werden auf Ihrem Gerät verarbeitet und nie auf unsere Server hochgeladen.