Zum Hauptinhalt springen

1. Introduction (Einführung)

1. Introduction (Einführung)

Diese Spezifikation definiert das JSON merge patch (JSON-Zusammenführungs-Patch) Dokumentformat, Verarbeitungsregeln und den zugehörigen MIME-Medientyp-Identifikator. Das Zusammenführungs-Patch-Format ist hauptsächlich für die Verwendung mit der HTTP PATCH-Methode [RFC5789] als Mittel zur Beschreibung einer Reihe von Änderungen am Inhalt einer Zielressource vorgesehen.

Ein JSON-Zusammenführungs-Patch-Dokument beschreibt Änderungen, die an einem Ziel-JSON-Dokument vorgenommen werden sollen, unter Verwendung einer Syntax, die das zu ändernde Dokument eng nachahmt. Empfänger eines Zusammenführungs-Patch-Dokuments bestimmen den genauen Satz der angeforderten Änderungen, indem sie den Inhalt des bereitgestellten Patches mit dem aktuellen Inhalt des Zieldokuments vergleichen. Wenn der bereitgestellte Zusammenführungs-Patch Mitglieder enthält, die nicht im Ziel erscheinen, werden diese Mitglieder hinzugefügt. Wenn das Ziel das Mitglied enthält, wird der Wert ersetzt. Null-Werte im Zusammenführungs-Patch erhalten eine besondere Bedeutung, um das Entfernen vorhandener Werte im Ziel anzuzeigen.

Zum Beispiel, gegeben das folgende ursprüngliche JSON-Dokument:

{
"a": "b",
"c": {
"d": "e",
"f": "g"
}
}

Das Ändern des Wertes von "a" und das Entfernen von "f" kann erreicht werden, indem Folgendes gesendet wird:

PATCH /target HTTP/1.1
Host: example.org
Content-Type: application/merge-patch+json

{
"a":"z",
"c": {
"f": null
}
}

Wenn dies auf die Zielressource angewendet wird, wird der Wert des "a"-Mitglieds durch "z" ersetzt und "f" wird entfernt, wobei der verbleibende Inhalt unberührt bleibt.

Dieses Design bedeutet, dass Zusammenführungs-Patch-Dokumente zur Beschreibung von Änderungen an JSON-Dokumenten geeignet sind, die hauptsächlich Objekte für ihre Struktur verwenden und keine expliziten Null-Werte verwenden. Das Zusammenführungs-Patch-Format ist nicht für alle JSON-Syntaxen geeignet.