Combinador de esquemas JSON
Combine vários JSON Schemas ou uma composição allOf num único esquema. As regras que nunca podem ser satisfeitas em conjunto são listadas como conflitos.
Aceita até 100 000 caracteres e 2 a 50 esquemas. Tudo é executado no seu navegador. Transferências: o esquema combinado em JSON, um relatório JSON e uma lista CSV de conflitos. Um array JSON de esquemas ou um esquema com allOf. Também aceita YAML. Até 100 000 caracteres. Reveja as definições antes de executar.
Seu resultado
Combinador de esquemas JSON
- Cole um array JSON de esquemas ou um esquema cujo allOf os liste.
- Escolha a versão de JSON Schema ou mantenha a deteção automática.
- Execute a combinação e reveja os conflitos e as regras preservadas em allOf.
- Transfira o esquema combinado e o relatório de conflitos.
O que esperar
Aceita até 100 000 caracteres e 2 a 50 esquemas. Tudo é executado no seu navegador. Transferências: o esquema combinado em JSON, um relatório JSON e uma lista CSV de conflitos.
Como se combinam as regras
Calcula-se a interseção dos tipos, enumerações e valores const; os limites mínimo e máximo assumem o valor mais restritivo; as listas required são unidas e as propriedades são combinadas uma a uma. Quando um esquema proíbe propriedades adicionais, também é proibida uma propriedade definida apenas por outro esquema e é listado um conflito se essa propriedade for obrigatória.
O que é preservado em allOf
Algumas palavras-chave não podem ser combinadas de forma exata, como duas expressões regulares diferentes, oneOf, not, if e then, patternProperties junto de outras regras de propriedades e propriedades não avaliadas. São preservadas num allOf do esquema combinado e listadas no relatório, para não alterar o significado do esquema.
Verificar o resultado
Os conflitos identificam a sua localização no esquema. Um conflito numa propriedade opcional ou numa regra exclusiva de números não torna, por si só, todo o esquema impossível. O relatório marca provenUnsatisfiable apenas quando uma prova estrutural limitada estabelece que nenhuma instância pode satisfazer o esquema combinado. Caso contrário, esse indicador não prova a satisfatibilidade. Sem conflitos, verificações opcionais de exemplos validam com Ajv candidatos de cada composição contra a outra. Esquemas de entrada separados preservam as suas próprias raízes de referências locais. Os exemplos são evidência, não uma prova exaustiva de equivalência. O validador rejeita esquemas que utilizem __proto__ como chave de propriedade, padrão ou dependência.