JSON Patch Generator & Applier
Erzeuge einen RFC 6902 JSON Patch zwischen zwei Dokumenten, wende einen Patch auf eine Quelle an oder führe einen RFC 7386 Merge Patch aus — vollständig in deinem Browser.
Der JSON Patch Generator läuft vollständig in deinem Browser. Die Dokumente und Patches, die du einfügst, werden auf deinem Gerät gediffed und angewendet und niemals zu ArrayKit hochgeladen.
Öffne das JSON-Diff-Tool
Über JSON Patch Generator
Der JSON Patch Generator verwandelt den Unterschied zwischen zwei JSON-Dokumenten in ein sauberes RFC 6902-Operations-Array — die add-, remove-, replace-, move- und copy-Schritte, die eine Quelle in ein Ziel transformieren. Wechsle in den Apply-Modus, um einen Patch gegen ein Quelldokument auszuführen und das exakte Ergebnis zu sehen, wobei jede Operation validiert wird, sodass eine fehlerhafte Op oder ein gescheiterter test erkannt statt still übersprungen wird. Ein dritter Modus wendet RFC 7386 JSON Merge Patches an, bei denen ein null-Wert einen Key löscht und Objekte Key für Key verschmelzen. Gebaut für Entwickler, die PATCH-Endpunkte verdrahten, Konfigurationen synchronisieren oder API-Änderungen prüfen. Deine Quelle, dein Ziel und dein Patch werden auf deinem Gerät verarbeitet und verlassen niemals den Browser.
Funktionen
- Erzeuge einen minimalen RFC 6902-Patch (add / remove / replace / move / copy) aus zwei JSON-Dokumenten
- Wende ein Patch-Array auf ein Quelldokument an und sieh das gepatchte Ergebnis sofort
- Validiert jede Operation — unbekannte Ops, gescheiterte tests und nicht auflösbare Pfade werden gemeldet, nicht übersprungen
- Wende RFC 7386 JSON Merge Patches an, bei denen ein null-Wert einen Key löscht
- Key-Reihenfolge-unabhängiger Diff, sodass umsortierte Keys nie verrauschte Operationen erzeugen
- Kopiere den Patch oder das Ergebnis, oder lade es als .json-Datei herunter
- Live-Gültig-/Ungültig-Badges zeigen genau, welche Seite einen JSON-Syntaxfehler hat
- Alles läuft in deinem Browser — Dokumente und Patches bleiben auf deinem Gerät
So verwendest du JSON Patch Generator
- Wähle Generate, um zwei Dokumente zu diffen, Apply patch, um einen RFC 6902-Patch auszuführen, oder Merge patch für RFC 7386
- Füge dein Quell-JSON links ein
- Füge das Zieldokument, Patch-Array oder Merge Patch rechts ein
- Lies die erzeugten Operationen oder das gepatchte Ergebnis, dann kopiere oder lade es herunter
Beispiel
Eingabe
source: {"active":true,"roles":["admin"]}
target: {"active":false,"roles":["admin","editor"]}
Ausgabe
[
{ "op": "replace", "path": "/active", "value": false },
{ "op": "add", "path": "/roles/1", "value": "editor" }
]
Generate erzeugt die RFC 6902-Operationen, die die Quelle in das Ziel verwandeln.
Häufige Fehler & Fehlerbehebung
- Der Apply-Modus sagt, der Patch müsse ein Array von Operationen sein. — Ein RFC 6902-Patch ist ein JSON-Array wie [ { "op": "add", "path": "/x", "value": 1 } ]. Setze ein einzelnes Operationsobjekt in eckige Klammern.
- Eine remove- oder replace-Operation scheitert mit einem nicht auflösbaren Pfad. — Der Pfad muss bereits in der Quelle existieren. Prüfe auf einen Tippfehler, denke daran, dass Pfade mit einem Schrägstrich beginnen, und escape / und ~ in Keys als ~1 und ~0.
- Eine test-Operation lässt den ganzen Patch scheitern. — RFC 6902-Patches sind alles-oder-nichts. Ein gescheiterter test bricht den Patch ab, also bestätige, dass der getestete Wert exakt der Quelle entspricht, bevor die folgenden Operationen laufen.
- Ein Merge Patch ersetzte ein ganzes Array, statt einen Eintrag zu bearbeiten. — RFC 7386 kennt keine Array-Bearbeitung auf Elementebene — ein Array in einem Merge Patch überschreibt das ganze Array. Nutze einen RFC 6902-Patch mit indizierten Pfaden für Änderungen pro Eintrag.
Häufig gestellte Fragen
- Was ist ein RFC 6902 JSON Patch?
- RFC 6902 ist ein Format, das Änderungen an einem JSON-Dokument als geordnetes Array von Operationen beschreibt — add, remove, replace, move, copy und test —, die jeweils auf einen JSON-Pointer-Pfad zielen. Das Anwenden des Arrays auf die Quelle erzeugt das Ziel.
- Wie unterscheidet sich JSON Merge Patch (RFC 7386) von JSON Patch (RFC 6902)?
- Ein Merge Patch ist selbst ein JSON-Objekt, das das Ziel spiegelt: vorhandene Keys werden gesetzt, ein null-Wert löscht einen Key, und Arrays und Skalare ersetzen komplett. Er ist einfacher, kann aber keine Werte verschieben oder einzelne Array-Elemente bearbeiten, wie es RFC 6902-Operationen können.
- Wie erzeuge ich einen Patch aus zwei JSON-Dokumenten?
- Bleib bei Generate, füge das Original links und die geänderte Version rechts ein, und das Tool berechnet das minimale RFC 6902-Operations-Array. Der Diff ignoriert die Key-Reihenfolge, sodass umsortierte Felder keine überflüssigen Operationen erzeugen.
- Warum ließ sich mein Patch nicht anwenden?
- Operationen werden gegen die Quelle validiert. Häufige Ursachen sind ein Pfad, der für remove oder replace nicht existiert, eine test-Operation, deren Wert nicht passt, oder ein ungültiger op-Name. Das Tool zeigt den konkreten Fehler, sodass du diese Operation beheben kannst.
- Löscht ein Merge Patch wirklich einen Key mit null?
- Ja. In RFC 7386 weist eine auf null gesetzte Eigenschaft den Merge an, diesen Key aus dem Ergebnis zu entfernen. Um ein echtes null zu speichern, musst du stattdessen eine RFC 6902 replace-Operation nutzen.
- Werden meine JSON-Dokumente und Patches irgendwohin hochgeladen?
- Nein. Der Generator, der Patch-Applier und die Merge-Patch-Engine laufen alle lokal in deinem Browser. Deine Quell-, Ziel- und Patch-Daten werden auf deinem Gerät verarbeitet und niemals an ArrayKit gesendet.
Verwandte Tools
- JSON Diff — Vergleiche zwei JSON-Dokumente und sieh einen strukturellen Diff.
- JSON-Formatierer — JSON verschönern, minimieren und validieren – mit Fehlerposition.
- JSON Flatten / Unflatten — Flache verschachteltes JSON zu Schlüsseln in Punktnotation, oder mach es wieder rückgängig.
- JSON-Schlüssel sortieren — Objektschlüssel rekursiv A→Z oder Z→A ordnen, Array-Reihenfolge bleibt.
- JSON zu CSV — Konvertiere ein Array flacher JSON-Objekte in CSV.
- NDJSON zu JSON — NDJSON (JSON Lines) in ein schönes JSON-Array und zurück verwandeln.
Alle ArrayKit-Tools