Zum Inhalt springen
100% lokal

JSON-Patch-Anwendung

Wenden Sie einen RFC 6902 JSON Patch (oder RFC 7396 Merge Patch) auf ein JSON-Dokument an.

Eingabe
Patch (JSON)
Ausgabe

JSON-Patch-Anwendung

Fügen Sie ein JSON-Dokument und einen Patch ein, und dieses Tool wendet den Patch an und gibt das resultierende Dokument zurück. Es unterstützt sowohl RFC 6902 JSON Patch — das Standard-Array von add-, remove-, replace-, move-, copy- und test-Operationen — als auch RFC 7396 JSON Merge Patch, das einfachere "beschreiben Sie einfach die gewünschte Form"-Format, das von vielen REST-APIs für PATCH-Anfragen verwendet wird.

Bevor etwas läuft, wird der Patch auf strukturelle Probleme überprüft: ein unbekannter Operationsname, ein fehlender oder falsch formatierter "path", ein fehlender "value" bei add/replace/test oder ein fehlender "from" bei move/copy werden alle im Voraus erfasst und mit dem genauen Operationsindex gemeldet, statt beim Durchlaufen zu fehlschlagen. Sobald ein Patch diese Prüfung besteht, entscheidet die on-error-Option, was passiert, wenn eine einzelne Operation beim Anwenden immer noch fehlschlägt (ein Pfad, der nicht mehr existiert, ein Test, der nicht übereinstimmt): stoppen Sie beim ersten Fehler und behalten Sie, was bereits angewendet wurde, oder überspringen Sie ihn und fahren Sie fort. Aktivieren Sie die Schritt-für-Schritt-Trace, um das Dokument nach jeder einzelnen Operation zu sehen — von unschätzbarem Wert, wenn ein neun-schrittiger Patch in Schritt sechs etwas Unerwartetes tut. Testlauf berechnet das Ganze ohne Änderung der Ausgabe, sodass Sie überprüfen können, dass ein Patch sicher ist, bevor Sie ihm vertrauen.

JSON-Pointer-Pfade folgen RFC 6901 genau, einschließlich des Token zum Anfügen von Arrays "-" und der Escapes ~0 / ~1 für "~" und "/" in einem Schlüssel. Move und copy lesen die Quelle mit "from" und schreiben mit "path"; test vergleicht strukturell und ignoriert die Reihenfolge der Objektschlüssel. Die Ausgabe kann für Lesbarkeit eingerückt oder kompakt gemacht werden zum Einfügen in einen API-Aufruf, und die Zusammenfassung meldet, wie viele Operationen angewendet, fehlgeschlagen oder übersprungen wurden.

Alles läuft lokal in Ihrem Browser — das Dokument und der Patch werden nie irgendwohin hochgeladen, sodass es sicher ist, mit echten API-Payloads oder Konfigurationsdateien zu arbeiten. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter oder senden Sie es direkt an die Eingabe, um einen weiteren Patch oben drauf anzuwenden.

Häufige Fragen

Was ist der Unterschied zwischen JSON Patch und JSON Merge Patch?
JSON Patch (RFC 6902) ist eine explizite Liste von Operationen — fügen Sie dies hinzu, entfernen Sie das, verschieben Sie das hierher — sodass es präzise Änderungen wie das Umordnen eines Arrays ausdrücken kann. JSON Merge Patch (RFC 7396) ist einfach ein partielles JSON-Objekt, das die gewünschte Form beschreibt; ein auf null gesetzter Schlüssel löscht ihn, alles andere überschreibt ihn. Merge Patch ist einfacher von Hand zu schreiben, kann aber Array-Bearbeitungen oder "diesen Schlüssel löschen" gegenüber "auf null setzen" nicht eindeutig ausdrücken.
Was passiert, wenn eine Operation auf halbem Weg fehlschlägt?
Mit "beim ersten Fehler stoppen" bleiben bereits angewendete Operationen angewendet und der Rest wird übersprungen — die Zusammenfassung und das Trace zeigen genau, wo es stoppt hat. Mit "überspringen und fortfahren" wird jede Operation versucht und nur die fehlgeschlagenen werden aus dem Ergebnis ausgelassen.
Was macht ein Testlauf eigentlich?
Testlauf validiert den Patch und simuliert jede Operation, sodass die Zusammenfassung und das Trace genau zeigen, was passieren würde, aber das Ausgabefenster zeigt immer noch Ihr ursprüngliches, unverändertesses Dokument. Nichts wird irgendwo in einem Browser-Tool "geschrieben" — es ist eine Möglichkeit, die Wirkung eines Patches vor der Verwendung in der Vorschau anzuzeigen.
Validiert es den Patch, bevor es ihn anwendet?
Ja. Ein unbekannter Operationsname, ein Pfad, der kein gültiger JSON-Pointer ist, oder ein fehlender "value"/"from"-Feld werden alle erfasst, bevor eine Operation läuft, und der Fehler benennt den Operationsindex, sodass Sie ihn in einem langen Patch finden können.
Wird mein JSON irgendwohin hochgeladen?
Nein. Sowohl das Dokument als auch der Patch werden vollständig in Ihrem Browser verarbeitet und verlassen Ihr Gerät niemals.