从两个对象生成JSON补丁

Bri*_*unt 16 javascript json json-patch

给定两个Javascript对象(AB),有没有办法生成JSON补丁,以便在应用该补丁A时将对象的属性更改为对象的属性B

例如,给定假设JSONPatch函数(可能是与下面链接的函数之一相似的名称的函数),期望的是generate_patch函数.

patch = generate_patch(A, B) JSONPatch.apply(patch, A) # modifies A so that it has the same properties as B.

在这个问题A,B是Javascript对象.RFC6902创建的补丁是JSON,它表示应用于A该对象的操作数组B.该generate_patch函数不需要返回JSON,而是为了提高效率可以返回一个Javascript对象,该对象在JSON.stringify调用时成为RFC6902 JSON补丁文档.

我在这个主题上找到的项目是:

jfr*_*d00 9

将我的评论转化为答案......

这段代码https://www.npmjs.org/package/rfc6902似乎是针对所述RFC的补丁和差异的完整javascript实现.

我自己没有使用它,但文档使它看起来像你要求的.


war*_*ech 6

从版本0.3.9开始,https://github.com/Starcounter-Jack/Fast-JSON-Patch有一个compare返回2个对象之间差异的方法.如果我理解正确,那可能就是你要找的东西