JSON Compare / Diff + Patch

Confronta semanticamente due documenti JSON nel tuo browser e trasforma le differenze in una patch.

Nessun upload, nessuna trasmissione a server esterni. Riduci le discrepanze superflue con modalità di confronto per array, regole per percorso e tolleranza numerica.

Elaborazione esclusiva nel browser, nessun caricamento su server
Il confronto intelligente degli array riduce le differenze superflue
Esportazione di JSON Patch e JSON Merge Patch
Tutto rimane all'interno della sessione del browser. Nessun dato viene caricato.

Flusso di lavoro consigliato

  1. Pulisci o ordina prima il JSON con il Formattatore JSON o l'Ordinatore chiavi JSON per avere un input uniforme.
  2. Incolla o carica i documenti JSON di sinistra e di destra, quindi avvia il confronto.
  3. Scegli la modalità array, le chiavi di associazione, la tolleranza e le regole di percorso adatte al controllo.
  4. Esamina il riepilogo, i percorsi modificati, l'albero visivo e l'output della patch esportabile.

Esempio

Questo esempio mostra come array riordinati, modifiche ai timestamp, minime differenze nei decimali e un elemento aggiuntivo possano essere isolati usando chiavi di associazione, tolleranza e regole di percorso.

Prima

Input
{
  "orderId": "A-1001",
  "updatedAt": "2026-04-16T08:00:00Z",
  "customer": {
    "name": "Acme Corp",
    "tags": ["vip", "beta"]
  },
  "items": [
    {
      "sku": "A-1",
      "qty": 2,
      "price": 10
    },
    {
      "sku": "B-2",
      "qty": 1,
      "price": 4.5
    }
  ],
  "summary": {
    "currency": "USD",
    "total": 24.5
  }
}

Dopo

Input
{
  "orderId": "A-1001",
  "updatedAt": "2026-04-16T08:05:00Z",
  "customer": {
    "name": "Acme Corporation",
    "tags": ["beta", "vip"]
  },
  "items": [
    {
      "sku": "B-2",
      "qty": 1,
      "price": 4.5
    },
    {
      "sku": "A-1",
      "qty": 2,
      "price": 10.0001
    },
    {
      "sku": "C-3",
      "qty": 1,
      "price": 7
    }
  ],
  "summary": {
    "currency": "USD",
    "total": 24.5001
  }
}

Cosa illustra questo esempio

Questo esempio mostra come array riordinati, modifiche ai timestamp, minime differenze nei decimali e un elemento aggiuntivo possano essere isolati usando chiavi di associazione, tolleranza e regole di percorso.

Come si usa

  1. Incolla o carica i documenti JSON di sinistra e di destra.
  2. Scegli l'opzione strict, ignora ordine, multiset o associa per chiave, quindi aggiungi le regole di percorso necessarie.
  3. Esegui il confronto tramite il pulsante o la scorciatoia. Usa prima la validazione se vuoi solo verificare la sintassi.
  4. Una volta finito, copia o scarica i percorsi modificati, la patch, la merge patch o il report.

Funzionalità

  • Confronta il formato JSON in modo semantico anziché riga per riga.
  • Associa gli elementi dell'array tramite chiavi come id, sku o code.
  • Ignora percorsi, seleziona percorsi o applica regole di confronto per percorso.
  • Usa la tolleranza numerica per ignorare minime differenze nei numeri decimali (floating-point).
  • Esporta JSON Patch, JSON Merge Patch, percorsi modificati e un report Markdown.
  • Comprimi i nodi non modificati e passa direttamente al percorso interessato.

Regole di confronto e output

  • L'elaborazione avviene interamente nel browser. Nessun caricamento su server.
  • Sono supportate le modalità di array: Strict (rigido), Ignore order (ignora ordine), Multiset e Match by key (associa per chiave).
  • Le regole per percorso supportano ignore, strict, ignore-order, multiset, match-keys e tolleranza.
  • La tolleranza numerica viene applicata solo ai numeri.
  • I commenti possono essere rimossi prima del parsing, se necessario.
  • Gli input di grandi dimensioni usano una visualizzazione iniziale di riepilogo e possono disattivare il confronto automatico.

FAQ

Posso confrontare array di oggetti in base a una chiave?

Sì. Usa l'opzione "Associa per chiave" e indica le chiavi come id o sku. Puoi anche sovrascrivere la regola per singolo percorso.

Come posso ignorare timestamp o ID richiesta?

Aggiungili ai percorsi da ignorare, oppure usa una regola di percorso se vuoi che l'eccezione si applici solo a una specifica ramificazione.

Posso mantenere l'ordine degli array per alcune parti e ignorarlo per altre?

Sì. Usa le regole di percorso per impostare ignore-order (ignora ordine), multiset o chiavi di corrispondenza solo dove necessario.

Supporta JSON con commenti?

Il formato JSON standard non consente commenti. Attiva "Rimuovi commenti prima del parsing" solo se hai la necessità di accettare input in formato JSONC.

I dati vengono caricati su un server?

No. Il confronto, la normalizzazione e l'esportazione avvengono interamente in locale all'interno del browser.

Quali formati posso esportare?

JSON Patch, JSON Merge Patch, percorsi modificati e un report in formato Markdown.