Vai al contenuto principale
CuteJSON
↑↓ Naviga Enter Seleziona Esc Chiudi

JSON Schema Diff

Compare two JSON Schemas and see exactly what changed, with every change marked breaking or not.

Torna a tutti gli strumenti

Scorciatoie da tastiera

Funzionano dove l'azione corrispondente esiste in questa pagina.

Apri la tavolozza comandi
Ctrl/Cmd + K
Esegui l'azione principale
Ctrl/Cmd + Enter
Formatta
Ctrl/Cmd + Shift + F
Minifica
Ctrl/Cmd + Shift + M
Copia output
Ctrl/Cmd + Shift + C
Apri file
Ctrl/Cmd + Shift + O
Scarica output
Ctrl/Cmd + S
Chiudi questa finestra
Esc
Apri questa finestra
F1 / ?

Dati locali

Tutto qui sotto e memorizzato solo in questo browser.

Bozze non salvate
Strumenti con opzioni ricordate

File aperti di recente

    Nessun file aperto ancora.

    Condividi via link

    Il contenuto e impacchettato nella parte dopo il #.

    Condivide la prima input in questa pagina.

    Niente da condividere ancora.

    Old schema

    Carica da un URL

    Recupera l'URL dal tuo browser.

    New schema

    Carica da un URL

    Recupera l'URL dal tuo browser.

    Changes

    Paste two schemas and press Compare.

      Funziona interamente nel tuo browser.

      Su questo strumento

      This is not the JSON Diff tool: that one compares two documents by value. This compares two schemas by what they would accept, so every change also says whether it is breaking, meaning a document that satisfied the old schema could now fail the new one. A property added to the schema is not breaking on its own, since existing data simply does not have it yet; a property removed is breaking only when the new schema also sets additionalProperties to false, since only then does carrying that property become a rejection. A field becoming required is breaking, since existing data may not have it; a field no longer required is not. A type narrowing, like a change from number to integer, is breaking; a type widening, like integer to number, is not, and that one subtype relationship is the only one this tool knows among the JSON Schema primitive types. An enum value removed is breaking, since data using it now fails; a value added is not. A tightened bound, a lower maximum or a higher minimum, is breaking; a loosened one is not. A pattern change is always treated as breaking, since comparing two regular expressions for which accepts more is not attempted, and treating an unknown effect as safe would be the wrong default. The subset covered is deliberately the one the site's own Schema Generator writes and the Schema Validator applies: schema-valued additionalProperties, tuple-form items, combinators and $ref are not walked into.

      Come usare

      1. Paste the old schema into the left pane and the new one into the right, or load the sample.
      2. Press Compare.
      3. Read the breaking changes first: the summary line counts them separately, and the filter chips isolate just those rows.