Gerador de exemplos de JSON Schema
Crie dados de teste válidos e inválidos reproduzíveis a partir de um JSON Schema. Cada exemplo é verificado com um validador JSON Schema antes de ser disponibilizado.
Aceita um esquema com até 50 000 caracteres, 1 a 100 exemplos válidos e 0 a 100 inválidos, com um resultado até 4 000 000 de caracteres. Tudo é executado no seu navegador. Transferências: um relatório JSON e ficheiros JSON Lines. Cole um esquema em JSON ou YAML. As referências $ref locais são seguidas. Até 50 000 caracteres. Reveja as definições antes de executar.
Seu resultado
Gerador de exemplos de JSON Schema
- Cole um JSON Schema em JSON ou YAML.
- Escolha uma semente e a quantidade de exemplos válidos e inválidos pretendida.
- Execute o gerador e reveja a regra violada por cada exemplo inválido.
- Transfira o relatório ou os ficheiros JSON Lines.
O que esperar
Aceita um esquema com até 50 000 caracteres, 1 a 100 exemplos válidos e 0 a 100 inválidos, com um resultado até 4 000 000 de caracteres. Tudo é executado no seu navegador. Transferências: um relatório JSON e ficheiros JSON Lines.
Como são gerados os exemplos
O gerador percorre o esquema e escolhe valores de tipos, enumerações, intervalos, comprimentos, padrões simples e formatos comuns com um gerador aleatório inicializado por uma semente; a mesma semente produz os mesmos exemplos. Cada candidato é validado com Ajv. Um candidato que falhe é substituído; após 25 tentativas, o exemplo é listado como não gerado em vez de ser emitido.
Exemplos inválidos
Os exemplos inválidos partem de um válido e violam uma regra de cada vez, como um tipo incorreto, uma propriedade obrigatória ausente, um valor fora de uma enumeração ou intervalo ou uma propriedade adicional. Cada exemplo é novamente validado e o relatório indica a palavra-chave que falhou.
Limites
São seguidas apenas referências locais dentro do esquema; referências a outros ficheiros ou URLs nunca são obtidas. Expressões regulares complexas, not e algumas combinações de oneOf podem exceder a pesquisa suportada pelo gerador. Esses exemplos são assinalados como não gerados. Esquemas que utilizem __proto__ como chave de propriedade, padrão ou dependência são rejeitados porque o validador incluído não consegue verificar essa chave de forma fiável. Os dados literais de instâncias com essa chave são preservados.