Pular para o conteudo principal
CuteJSON
↑↓ Navegar Enter Selecionar Esc Fechar

JSON Schema Diff

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

Voltar para todas as ferramentas

Atalhos de teclado

Estes funcionam onde a acao correspondente existe nesta pagina.

Abrir a paleta de comandos
Ctrl/Cmd + K
Executar a acao principal
Ctrl/Cmd + Enter
Formatar
Ctrl/Cmd + Shift + F
Minimizar
Ctrl/Cmd + Shift + M
Copiar saida
Ctrl/Cmd + Shift + C
Abrir arquivo
Ctrl/Cmd + Shift + O
Baixar saida
Ctrl/Cmd + S
Fechar este dialogo
Esc
Abrir este dialogo
F1 / ?

Dados locais

Tudo abaixo e armazenado apenas neste navegador, neste dispositivo. Nada e enviado a lugar nenhum, e fechar este dialogo nao e necessario para que isso continue verdade.

Rascunhos nao salvos
Ferramentas com opcoes lembradas

Arquivos abertos recentemente

    Nenhum arquivo aberto ainda neste dispositivo.

    Compartilhar via link

    O conteudo e empacotado na parte do link apos o #, que navegadores nunca enviam a um servidor.

    Compartilha a primeira entrada nesta pagina.

    Nada para compartilhar ainda.

    Old schema

    Carregar de uma URL

    Busca a URL diretamente do seu navegador.

    New schema

    Carregar de uma URL

    Busca a URL diretamente do seu navegador.

    Changes

    Paste two schemas and press Compare.

      Funciona inteiramente no seu navegador.

      Sobre esta ferramenta

      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.

      Como usar

      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.