Json比较补丁的Javascript – extjs

那么,我会尽我最大的努力来解决我的问题,最后我终于在这里发布了一个问题

我想在https://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html给定的链接中显示我的json diff

以下是给定库的文档https://code.google.com/p/google-diff-match-patch/

任何人都有想法如何使用Sencha Extjs来显示两个json对象之间的差异

你可能想看看jsondiffpatch (免责声明:我是作者),

你可以在这里尝试它 ,只是一些亮点:

  • 智能数组diff(使用LCS检测添加/删除,并查找移动到数组中的项)
  • 它是相当可定制的,你甚至可以编写插件来改变diff / patch机制的任何部分
  • 如果在graphics中的任何地方find2个长string,它将使用你在内部提到的Neil Fraser的lib来得到一个文本unidiff
  • 多个格式化程序,html(在线演示中使用的一个),控制台,注释,现在jsonpatch(RFC6902)

这应该用于差异/修补任何2个对象,如果ExtJS在你的对象上定义了特殊的私有属性,你可以忽略它们,指定一个propertyFilter

https://www.npmjs.com/package/deep-diff

我们使用它 – 这是伟大的 – 例如:

 var diff = require('deep-diff').diff; var lhs = { name: 'my object', description: 'it\'s an object!', details: { it: 'has', an: 'array', with: ['a', 'few', 'elements'] } }; var rhs = { name: 'updated object', description: 'it\'s an object!', details: { it: 'has', an: 'array', with: ['a', 'few', 'more', 'elements', { than: 'before' }] } }; var differences = diff(lhs, rhs);