Da amostra ao contrato

Gerador de JSON Schemaentenda as diferenças antes de impor regras

Experimente o exemplo. Selecione várias amostras somente quando cada elemento do array externo for um documento separado.

Gerador de JSON Schema

Amostras JSON

Schema de saída

Processamento neste navegador, sem enviar nem armazenar as amostras.

Opções de inferência

Amostras não são um contrato de negócio. Todos obrigatórios e enum podem restringir demais os dados.

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.

Por que usar este Gerador de JSON Schema?

Usar mais que o primeiro registro

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.

Duas fichas alimentam uma árvore comum; um campo ausente vira ramo tracejado e null permanece como marca vazada.

Manter as regras editadas à mão

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.

Uma árvore gerada passa por revisão com lápis; a nova proposta fica ao lado do rascunho preservado.

Três escolhas antes de exportar

01

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.

02

Definir presença e null separadamente

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.

03

Atualizar sem perder os ajustes

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.

Como a estrutura é deduzida

Três drafts com o mesmo subconjunto

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.

Schema para arrays com todos os elementos

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.

Enumeração opcional e limitada

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.

JSON para JSON Schema preservando números

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 que uma amostra não comprova

Sem adivinhar regras de negócio
Datas continuam sendo string. Não inferimos format, pattern, intervalos, comprimentos ou valores padrão. Propriedades adicionais permanecem permitidas. Acrescente restrições somente com base no contrato real.
O que não apareceu continua desconhecido
Somente null não revela o tipo não vazio; arrays vazios não revelam o conteúdo. Correlações entre campos e discriminadores não são preservadas, então combinações ausentes das amostras podem ser aceitas.
Sem tuplas ou atalho pelo primeiro item
Todos os elementos alimentam um único items. Não deduzimos posições fixas, comprimento, referências ou condições. Todos obrigatórios pode excluir de propósito um registro inicial que não tenha certa chave.
Editar não certifica a semântica
A saída deve ser um objeto ou booleano JSON, sem erro de sintaxe nem chaves repetidas. Não verificamos metasschema, referências externas ou amostras de negócio. Um tipo escrito incorretamente ainda pode ser JSON válido e exportável.
Limites do documento inteiro
Entrada e saída aceitam até 500.000 caracteres e 50.000 nós cada. Profundidade: 40 na entrada, 100 na saída editada. Modo múltiplo: 1–1.000 amostras. Comentários, vírgulas finais, NDJSON, arquivos e URLs não são aceitos. Se a saída exceder o limite, toda a geração é interrompida.

Gerador de JSON Schema: dúvidas

Qual draft de JSON Schema o gerador usa?

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.

Como as propriedades obrigatórias são decididas ao gerar um schema?

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.

O gerador infere formatos de string como email ou date?

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.

Como ele infere o schema para arrays?

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.

Posso usar o schema gerado diretamente em produção?

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?

Revise o contrato antes de adotá-lo

Use o Gerador de JSON Schema com respostas comuns e casos de exceção. Depois acrescente as regras que o seu projeto realmente exige.