JSON Patch is a web standard format for describing changes in a JSON document. It is meant to be used together with HTTP PATCH which allows for the modification of existing HTTP resources. The JSON Patch media type is application/json-patch+json.

JSON Patch
Filename extension
.json-patch
Internet media type
application/json-patch+json
Developed byP. Bryan, M. Nottingham
Extended fromJSON

A JSON Patch document is structured as a JSON array of objects where each object contains one of the six JSON Patch operations: add, remove, replace, move, copy, and test. This structure was influenced by the specification of XML patch. The syntax looks like this:[1][2]

There is one operation per object, though there can be many objects/operations in every array. These operations are performed in order; the first operation in the array goes first, the second operation acts upon the result of the previous operation, and so on.

JSON Patch documents are atomic in that if one operation in the document fails, then no operation will be carried out.

Operations

edit

The operations do the following:

Add
adds a value into an object or array.
Remove
removes a value from an object or array.
Replace
replaces a value. Logically identical to using remove and then add.
Copy
copies a value from one path to another by adding the value at a specified location to another location.
Move
moves a value from one place to another by removing from one location and adding to another.
Test
tests for equality at a certain path for a certain value.[3]

References

edit
  1. ^ Mark, Nottingham; Paul, Bryan (April 2013). "JavaScript Object Notation (JSON) Patch". tools.ietf.org. Retrieved 2016-12-04.
  2. ^ "mnot's blog: Why PATCH is Good for Your HTTP API". www.mnot.net. Retrieved 2016-12-04.
  3. ^ Foster, Ben (11 April 2016). "How to perform partial resource updates with JSON Patch and ASP.NET Core". benfoster.io.