O que é o gerador de esquema JSON?

O Gerador de Esquema JSON lê um valor JSON de amostra - uma resposta de API, um arquivo de configuração, uma carga útil de webhook - e escreve um Esquema JSON que o valida. Ele infere o tipo de cada campo, mescla uma matriz de objetos em um único esquema de itens em vez de uma união barulhenta, deriva quais chaves são exigidas daquelas presentes em cada registro e pode marcar formatos de string como data-hora, e-mail, uri e uuid. Você cola dados que já possui; você obtém o esquema que de outra forma escreveria manualmente cláusula por cláusula.
Escrever um esquema à mão é lento e fácil de errar sutilmente É tentador digitar o que você acha que uma carga contém, perder um campo aninhado, marcar uma propriedade ocasionalmente nula conforme necessário ou esquecer que um endpoint retorna uma matriz onde outro retorna um único objeto Um esquema gerado diretamente de dados reais começa a partir da forma real, então o documento que você valida contra corresponde ao que o serviço genuinamente envia A partir daí você aperta restrições - padrões, enums, mínimos - à mão, mas o andaime tedioso é feito.
Tudo é executado no seu navegador O mecanismo de inferência é TypeScript livre de dependência, não um wrapper em torno de uma API hospedada, então as cargas úteis - que rotineiramente carregam tokens, e-mails e IDs internos - nunca saem da página Escolha o Draft-07 ou o dialeto 2020-12, adicione um título, alterne a detecção de campo necessário, a detecção de formato e o strict `additionalProperties, depois copie o esquema ou baixe-o como um arquivo.json.
O esquema descreve sua amostra em vez de sua intenção, portanto, trate a saída como um primeiro rascunho: os campos obrigatórios são inferidos a partir do que está presente e os formatos são detectados por padrão, de modo que uma string que se parece com uma data é digitada como uma mesmo quando é um identificador que apenas se assemelha a um.
Como usar o gerador de esquema JSON?
Cole seu JSON
Solte uma resposta de API, um dispositivo ou qualquer valor JSON. Carregue a amostra primeiro para ver como objetos aninhados, matrizes de objetos e formatos de string são tratados.
Escolha o dialeto
Escolha o Draft-07 para o suporte a ferramentas mais amplos ou 2020-12 para a especificação atual. O URI correto de $schema é escrito na saída para você.
Defina suas opções
Adicione um título opcional, decida se deve emitir uma matriz necessária, detectar formatos de strings e bloquear objetos com AddressActileties: False para validação estrita.
Gerar e, em seguida, copiar ou baixar
Pressione gerar. Revise os tipos inferidos e campos obrigatórios, copie o esquema para sua área de transferência ou faça o download como um arquivo .json pronto para ser lançado no validador.
Principais características
Saída de Draft-07 e 2020-12
Emite o dialeto Draft-07 amplamente suportado ou a atual especificação 2020-12. O identificador de $ schema correspondente é escrito na raiz, portanto, os validadores escolhem as regras certas.
mesclagem de matriz inteligente
Uma matriz de objetos se torna um esquema de itens único que descreve um elemento, não um extenso. As chaves presentes em cada elemento são necessárias; as chaves que aparecem em apenas algumas são opcionais.
Inferência do campo obrigatório
O gerador deriva a matriz necessária a partir de chaves presentes em cada objeto que vê, que é exatamente como os dados paginados reais se comportam - alguns campos estão sempre lá, outros não.
Detecção de formato de stri
Reconhece as strings de data, hora, hora, e-mail, URI, UUID e IPv4 e as marca com a palavra-chave de formato apropriada, fornecendo validação que você adicionaria manualmente.
Frequently Asked Questions
Related Tools
JSON Flattener
Flatten nested JSON into single-level dot-notation keys, or unflatten dotted keys back into nested objects and arrays. Lossless round trip. 100% client-side.
JSON to Go Struct
Convert JSON into Go struct definitions with json tags. Nested objects become inline structs, arrays of objects are merged, and field names follow Go conventions. Runs client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
JSONPath Tester
Test JSONPath expressions against any JSON and see the matched values and their paths instantly. Supports wildcards, recursive descent, slices, and filters. 100% client-side.
Comments
0 comments
No comments yet. Be the first to share your thoughts!