JSON Merge Patch: Difference between revisions
Jump to navigation
Jump to search
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
* https://datatracker.ietf.org/doc/html/rfc7386 | * https://datatracker.ietf.org/doc/html/rfc7386 | ||
* https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/ | * https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/ | ||
* https://erosb.github.io/post/json-patch-vs-merge-patch/ | |||
=Internal= | =Internal= | ||
Line 22: | Line 23: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=Behavior on | =Behavior on Arrays= | ||
If | Arrays cannot be manipulated by merge patches. If you want to add an element to an array, or mutate any of its elements then you have to include the entire array in the merge patch document, even if the actually changed parts is minimal. The new list completely replaces the existing list. | ||
=Also See= | =Also See= | ||
{{Internal|JSON Patch|JSON Patch}}{{Internal|Kubernetes Strategic Merge Patch|Kubernetes Strategic Merge Patch}} | {{Internal|JSON Patch|JSON Patch}}{{Internal|Kubernetes Strategic Merge Patch|Kubernetes Strategic Merge Patch}} |
Latest revision as of 19:20, 29 July 2021
External
- https://datatracker.ietf.org/doc/html/rfc7386
- https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/
- https://erosb.github.io/post/json-patch-vs-merge-patch/
Internal
Overview
JSON merge patch is defined by RFC7386.
JSON merge patch defines a JSON document format appropriate for modifying a target JSON document. The format is suitable to use with the HTTP PATCH method and an "application/merge-patch+json" media type.
PATCH /target HTTP/1.1
Host: example.org
Content-Type: application/merge-patch+json
{
"a":"z",
"c": {
"f": null
}
}
Behavior on Arrays
Arrays cannot be manipulated by merge patches. If you want to add an element to an array, or mutate any of its elements then you have to include the entire array in the merge patch document, even if the actually changed parts is minimal. The new list completely replaces the existing list.