Json Diff Patch Javascript - extjs

问题描述 投票:1回答:2

好吧,我付出了很大的努力来解决我的问题所以最后我终于在这里发布了一个问题

我想在https://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html下面的给定链接中显示我的JSON差异

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

任何人都知道如何使用Sencha Extjs来显示两个JSON对象之间的差异

javascript json node.js git extjs
2个回答
3
投票

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

你可以try it online here,只是一些亮点:

  • 智能阵列差异(使用LCS检测添加/删除,并查找在数组中移动的项目)
  • 它非常可定制,您甚至可以编写插件来更改diff / patch机制的任何部分
  • 如果在图表中的任何地方找到2个长字符串,它将使用您在内部提到的Neil Fraser的lib来获取文本unidiff
  • 多个格式化程序,html(在线演示中使用的那个),控制台,带注释的,现在是jsonpatch(RFC6902)

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


1
投票

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);
© www.soinside.com 2019 - 2024. All rights reserved.