awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
benjamine avatar

benjamine/jsondiffpatch

0
View on GitHub↗
5,324 estrellas·495 forks·TypeScript·MIT·2 vistasjsondiffpatch.com↗

Jsondiffpatch

jsondiffpatch es una librería de diff y patch para JSON diseñada para calcular las diferencias entre dos objetos JSON y aplicar esos cambios para sincronizar estados. Funciona como una herramienta de sincronización para calcular deltas y aplicar parches para actualizar o revertir objetos complejos de JavaScript anidados.

El proyecto proporciona una implementación compatible con el estándar RFC 6902 JSON Patch para actualizaciones atómicas y un renderizador de diferencias visuales que convierte los deltas de datos en vistas HTML legibles por humanos. Incluye una herramienta de diff de texto especializada para realizar análisis detallados a nivel de carácter en cadenas largas dentro de valores de datos JSON.

La librería cubre una amplia gama de capacidades, incluyendo la generación recursiva de deltas y el cálculo de diferencias de arrays utilizando algoritmos de subsecuencia común más larga (LCS). Admite el diffing lógico de arrays para detectar movimientos de elementos mediante hashing personalizado y ofrece opciones de salida multiformato, como formato de consola codificado por colores y un componente de React dedicado para comparaciones visuales.

Features

  • JSON Diff Tools - Calculates differences between two JSON structures to identify specific changes in content and hierarchy.
  • JSON Difference Computation - Calculates the delta between two JSON objects to identify the specific changes needed to transform one into the other.
  • JSON Patching - Provides a standard-compliant implementation of RFC 6902 JSON Patch for atomic updates.
  • JSON State Synchronizers - Computes deltas and applies patches to synchronize, update, or revert complex nested JavaScript objects.
  • Recursive Delta Generation - Traverses nested JSON structures to produce a hierarchical tree of modifications representing deep differences.
  • Data Difference Renderers - Converts data deltas into human-readable HTML views with highlighted additions and deletions.
  • Data Diff Viewers - Renders visual HTML or text representations of differences between two complex JSON datasets for human review.
  • JSON State Synchronization - Updates target JSON objects by applying calculated deltas to synchronize states.
  • LCS-Based Sequence Diffing - Implements the Longest Common Subsequence algorithm to identify additions and deletions within JSON arrays.
  • Array Sequence Diffing - Uses the Longest Common Subsequence algorithm to identify added, removed, or modified items within arrays.
  • State-to-HTML Rendering - Converts internal delta states directly into HTML structures for browser display.
  • Complex Array Diffing - Identifies moved, added, or deleted items within JSON arrays using custom hashing instead of simple index matching.
  • Logical Array Diffing - Matches objects within arrays using custom hash functions to detect moves and deletions instead of relying on position.
  • Multi-Format Serializers - Transforms internal diff structures into multiple representations, including RFC 6902 JSON Patch and annotated HTML.
  • Undo-Redo State History - Provides a mechanism to track state transitions for reversing and reapplying changes to JSON objects.
  • Character-Level Text Diffing - Includes a specialized tool for performing fine-grained, character-level analysis on long strings within JSON values.
  • Text Differencing - Performs fine-grained character-level analysis on long strings within JSON data values.
  • Change Reversions - Provides utilities to undo the effects of a delta or generate reverse deltas to restore previous states.
  • Array Item Move Detection - Identifies when an element has changed position within an array and records the destination index in the delta.
  • Character-Level Diffing - Uses differencing algorithms that treat each Unicode code point as an individual token for precise string analysis.
  • Two-Way Patching - Implements both forward and reverse delta logic to synchronize objects or restore previous states.
  • Custom Equality Definitions - Allows defining custom hashing functions to match objects within arrays by value instead of reference.
  • Hashing-Based Matching - Uses custom hashing functions to match array elements and detect moves regardless of index position.
  • JSON and Data Schema Tools - Diffs JSON objects and generates patch information.

Historial de estrellas

Gráfico del historial de estrellas de benjamine/jsondiffpatchGráfico del historial de estrellas de benjamine/jsondiffpatch

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Jsondiffpatch

Proyectos open-source similares, clasificados según cuántas características comparten con Jsondiffpatch.
  • mobxjs/mobx-state-treeAvatar de mobxjs

    mobxjs/mobx-state-tree

    7,050Ver en GitHub↗

    MobX State Tree is a structured, tree-based state management library for JavaScript applications that combines typed model definitions with reactive snapshots and patch-based change tracking. It provides a reactive state container with runtime and compile-time type safety, where application state is defined as a tree of typed models with collocated actions, computed views, and lifecycle hooks for predictable state mutations. The library is built around an action-centric mutation model that encapsulates all state changes within named functions that directly modify the tree, supported by genera

    TypeScripthacktoberfestmobxmobx-state-tree
    Ver en GitHub↗7,050
  • tc39/proposal-signalsAvatar de tc39

    tc39/proposal-signals

    4,138Ver en GitHub↗

    This project is an ECMAScript proposal to introduce a native reactive state primitive to the JavaScript language. It defines a standard for fine-grained reactivity, providing a mechanism to track value dependencies and automatically propagate updates through a dependency graph. The specification focuses on managing computed values and side effects based on granular changes to state. It enables the synchronization of state updates across a dependency graph and the tracking of relationships between values and their observers without manual subscriptions. The proposal covers efficient value com

    Ver en GitHub↗4,138
  • ory/editorAvatar de ory

    ory/editor

    9,551Ver en GitHub↗

    This project is a customizable browser text editor and a schema-driven document framework designed for building React-based WYSIWYG content editors. It replaces standard text areas with a system that represents content as a structured data tree rather than flat HTML, allowing for precise manipulation and validation of documents. The framework serves as an extensible content management interface and a TypeScript UI component library. It enables the development of specialized authoring tools through a plugin system and the use of strongly typed building blocks to ensure consistency across docum

    TypeScript
    Ver en GitHub↗9,551
  • inertiajs/inertiaAvatar de inertiajs

    inertiajs/inertia

    7,708Ver en GitHub↗

    Inertia is a server-driven frontend framework designed to create monolithic single page applications. It acts as a state synchronization protocol and client-side routing bridge, allowing developers to build interactive experiences using modern JavaScript component libraries while keeping routing and controllers on the server. This approach eliminates the need for a separate REST or GraphQL API layer by passing data from server controllers to frontend components as props via JSON payloads. The framework distinguishes itself by utilizing adapter-based integration to link various backend environ

    TypeScript
    Ver en GitHub↗7,708
Ver las 30 alternativas a Jsondiffpatch→

Preguntas frecuentes

¿Qué hace benjamine/jsondiffpatch?

jsondiffpatch es una librería de diff y patch para JSON diseñada para calcular las diferencias entre dos objetos JSON y aplicar esos cambios para sincronizar estados. Funciona como una herramienta de sincronización para calcular deltas y aplicar parches para actualizar o revertir objetos complejos de JavaScript anidados.

¿Cuáles son las características principales de benjamine/jsondiffpatch?

Las características principales de benjamine/jsondiffpatch son: JSON Diff Tools, JSON Difference Computation, JSON Patching, JSON State Synchronizers, Recursive Delta Generation, Data Difference Renderers, Data Diff Viewers, JSON State Synchronization.

¿Qué alternativas de código abierto existen para benjamine/jsondiffpatch?

Las alternativas de código abierto para benjamine/jsondiffpatch incluyen: mobxjs/mobx-state-tree — MobX State Tree is a structured, tree-based state management library for JavaScript applications that combines typed… tc39/proposal-signals — This project is an ECMAScript proposal to introduce a native reactive state primitive to the JavaScript language. It… ory/editor — This project is a customizable browser text editor and a schema-driven document framework designed for building… inertiajs/inertia — Inertia is a server-driven frontend framework designed to create monolithic single page applications. It acts as a… choojs/choo — Choo is a minimalist frontend framework providing a tiny foundation for building web applications. It functions as an… kinto/kinto — Kinto is a cloud state backend designed for storing and synchronizing JSON data across multiple devices. It provides a…