JSON diff according to RFC6902
Diff two JS objects and receive an RFC6902 JSON patch.
var diff = ; var patch = ; console;//=> [{ op: "replace", path: "/age", value: 22 },//=> { op: "add", path: "/likes/1", value: "json" }]
Implementation
The current implementation only uses the add
, remove
and replace
operation. Usage of move
and copy
can and may be added later and I am always
open for pull requests, but they are not needed to generate patches for every
possible modification. Your patches will just be a bit bigger than they would
be with move
and copy
.
Arrays are diffed with the Levenshtein distance. This gives us
== op: "add" path: "/1" value: 5 op: "remove" path: "/5"
instead of 5 replace
operations.