Escolher o significado do array externo
Documento único mantém o array como raiz dos dados. Várias amostras combina os elementos como documentos independentes. Para comparar documentos que já são arrays, use um array de arrays.
Da amostra ao contrato
Experimente o exemplo. Selecione várias amostras somente quando cada elemento do array externo for um documento separado.
Processamento neste navegador, sem enviar nem armazenar as amostras.
1 amostras · 7 propriedades · 0 enums · 0 omitidos
O Gerador de JSON Schema ajuda quando você tem respostas de uma API, mas ainda não dispõe de uma especificação completa. Uma resposta bem-sucedida não comprova que todos os campos aparecerão sempre. Reunir variantes torna essas diferenças visíveis.
Uma chave ausente é diferente de uma chave presente com valor null. required exige a presença; o tipo define os valores aceitos. Assim, uma propriedade pode ser obrigatória e aceitar null sem misturar as duas decisões.
O Gerador de JSON Schema examina todos os elementos na mesma posição estrutural. Um campo ausente sai dos obrigatórios em comum; null explícito passa a fazer parte do tipo. Objetos em caminhos diferentes continuam separados.
Entrar no modo de edição interrompe a geração automática. Gerar novamente mostra um candidato separado. Aplicar substitui um schema e Desfazer restaura a entrada, as opções e a saída anteriores em conjunto.
Documento único mantém o array como raiz dos dados. Várias amostras combina os elementos como documentos independentes. Para comparar documentos que já são arrays, use um array de arrays.
Propriedades obrigatórias em comum aparecem em todos os objetos naquela posição. Exigir todas pode rejeitar uma amostra original incompleta. Permitir null não remove nenhum nome de required.
Alterar entrada ou opções desativa a exportação imediatamente. A geração automática espera 350 ms; no modo manual, use Ctrl/Cmd+Enter. Após editar, confira o candidato e aplique a substituição expressamente.
O Gerador de JSON Schema oferece Draft 7, 2019-09 e 2020-12. Usa type, properties, required, enum e items com schema único, comuns aos três. A seleção muda a URI $schema; não migra schemas complexos existentes.
Cada elemento contribui para a inferência. Arrays vazios não fornecem tipo; se todos estiverem vazios, items fica como {}. 1.0 e 100e-2 são integer pelo valor matemático, enquanto frações levam ao tipo number.
enum começa desligado. Ao ativar, cada posição escalar pode reunir até 20 valores distintos, incluindo o null acrescentado. Acima disso, todo o enum é omitido e contado no status; a lista nunca é cortada parcialmente.
Inteiros grandes mantêm a grafia original. Valores iguais como 1 e 1.0 são deduplicados sem conversão para Number. A saída aceita edição de regras, mas a checagem posterior cobre apenas sintaxe JSON e formato da raiz.
O padrão é 2020-12. Você também pode selecionar Draft 7 ou 2019-09 conforme o validador do projeto. A forma de arrays comuns emitida aqui é compartilhada pelos três drafts.
No modo em comum, uma chave precisa aparecer em cada objeto da mesma posição. null conta como presente. Também é possível tornar obrigatórias todas as propriedades observadas ou nenhuma.
Não. Datas e e-mails permanecem string. Adicione format manualmente se houver uma exigência real e confira como o seu validador trata essa anotação.
Combina todos os elementos em um items compartilhado. Se houver apenas arrays vazios, items será {}. A ordem observada não é interpretada como um contrato de tupla.
Revise primeiro. As amostras não demonstram todos os valores permitidos nem quais campos extras são proibidos. Complete as regras e valide casos positivos e negativos no seu projeto.
Encontrou uma inferência que precisa de revisão?
Use o Gerador de JSON Schema com respostas comuns e casos de exceção. Depois acrescente as regras que o seu projeto realmente exige.