Gerador de
JSON schema
Cole qualquer JSON e obtenha três coisas ao mesmo tempo: um JSON Schema draft 2020-12, interfaces TypeScript e uma descrição em inglês simples da forma; com campos required, enums e formats inferidos a partir dos próprios dados.
Uma colagem, três respostas
O Yetty dá à sua IA uma imagem completa do seu site por MCP; páginas, coleções e campos que ela pode editar com segurança.
Como a forma
é inferida
As formas são fundidas
Um array de objetos não é julgado pelo seu primeiro item. Cada objeto é fundido numa só forma, por isso um campo que só aparece no item 40 continua a entrar no esquema; como opcional.
required pela presença
Um campo presente em cada objeto amostrado cai em required. Ausente em qualquer lado, ainda que uma vez, e torna-se opcional; a leitura honesta da evidência que colou.
enums pela repetição
Quando um campo de string só assume um punhado de valores; status, plan, role; e esses valores se repetem, o esquema fixa-o como um enum em vez de uma string solta.
formats pelos padrões
Valores que consistentemente parecem dates, date-times, emails, URLs ou UUIDs recebem a palavra-chave format correspondente, para que os validadores possam de facto verificá-los.
Três vistas, uma verdade
O JSON Schema, as interfaces TypeScript e o resumo em inglês simples são todos renderizados a partir da mesma forma fundida; nunca podem contradizer-se.
Uma amostra é uma amostra
O esquema descreve o JSON que colou, não todo o JSON que o seu sistema poderia alguma vez produzir. Trate-o como um primeiro rascunho forte e afrouxe o que sabe que varia.
As pessoas também perguntam
Como gero um JSON Schema a partir de um ficheiro JSON de exemplo?
Cole o exemplo nesta página e o esquema aparece de imediato; draft 2020-12, com tipos inferidos dos valores, required listando os campos sempre presentes, e formatos de string como date, email, uri e uuid detetados a partir dos próprios dados. Corre inteiramente no seu navegador, por isso um ficheiro de configuração ou uma resposta de API com segredos nunca sai da sua máquina.
Como decide quais campos são required e quais são opcionais?
Pela presença. Quando o seu JSON é um array de objetos, as formas de todos os objetos são fundidas: um campo que aparece em cada objeto cai em required, e um que falta ainda que num só torna-se opcional. No separador TypeScript a mesma lógica surge como um ponto de interrogação na propriedade, e o separador em inglês simples diz "por vezes ausente"; três vistas de uma forma fundida.
Posso obter interfaces TypeScript a partir de JSON sem instalar nada?
Sim; o separador TypeScript constrói interfaces aninhadas a partir da mesma forma inferida: os objetos tornam-se interfaces com nome, os arrays tornam-se tipos T[], os campos por vezes ausentes recebem o marcador opcional, e os valores mistos tornam-se tipos union. Copie o separador direto para o seu código; não há pacote npm, nem registo, nem upload envolvido.