Json Diff Patch Javascript – extjs

Bueno, hice un gran esfuerzo para resolver mi problema, así que al final finalmente termino aquí publicando una pregunta

Quiero mostrar mi json diff así en el siguiente enlace https://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html

Aquí está la documentation de la Biblioteca dada https://code.google.com/p/google-diff-match-patch/

Alguien tiene idea de cómo usarlo un Sencha Extjs para mostrar diff entre dos objects json

es posible que desee ver jsondiffpatch (descargo de responsabilidad: yo soy el autor),

puedes probarlo en línea aquí , solo algunos aspectos destacados:

  • una matriz inteligente diff (usa LCS para detectar agrega / quita, y encuentra el elemento movido en las matrices)
  • es bastante personalizable, incluso puedes escribir complementos para cambiar cualquier parte del mecanismo diff / patch
  • si se encuentran 2 cadenas largas en cualquier parte del gráfico, usará la lib de Neil Fraser que mencione internamente para get un text unidiff
  • formateadores múltiples, html (el utilizado en la demostración en línea), console, anotado y ahora jsonpatch (RFC6902)

esto debería funcionar para diferir / parchear cualquier 2 objects, agnóstico de framework, si ExtJS define properties privadas especiales en sus objects, puede ignorarlos especificando un propertyFilter

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

Lo usamos – es genial – ejemplo:

 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);