JSON para esquema Zod
Gere um esquema de validação Zod e tipos TypeScript a partir de uma amostra JSON, com detecção de formatos e enumerações.
JSON para esquema Zod
Cole uma amostra JSON — uma resposta de API, um ficheiro de configuração, uma linha de base de dados — e obtenha um esquema Zod pronto a usar em TypeScript. Os tipos são inferidos por campo: os primitivos mapeiam para z.string(), z.number() e z.boolean(), os arrays têm o tipo de elemento inferido e um valor que difere entre ocorrências torna-se z.union(). Uma string que parece um endereço de e-mail, URL, UUID ou data ISO obtém o validador correspondente — .email(), .url(), .uuid(), .date() ou .datetime() — em vez de um z.string() simples.
Forneça um array de objetos da mesma forma, como linhas de um ponto final de lista, e o gerador mescla cada elemento antes de tipificar o campo: uma chave que falta em algumas linhas torna-se .optional(), uma chave que às vezes é nula torna-se .nullable() ou .optional() dependendo da opção que escolher, e um campo que repete um pequeno conjunto de valores — uma coluna de estado ou função — torna-se um z.enum() adequado em vez de uma string aberta. Ative "Dividir objetos aninhados" para extrair cada objeto aninhado em sua própria exportação nomeada em vez de um literal profundamente aninhado, onde as formas idênticas compartilham automaticamente um esquema. Ative "Objetos rigorosos" para rejeitar qualquer chave que a amostra nunca mostrou, capturando erros de digitação e campos de API inesperados durante a análise em vez de depois.
Nomeie o esquema exportado conforme o seu código espera e, opcionalmente, adicione export type X = z.infer<typeof X> logo abaixo, para que o validador em tempo de execução e o tipo em tempo de compilação provenham da mesma fonte e nunca possam divergir silenciosamente.
Tudo é executado localmente no seu navegador. O JSON que cola — respostas de API contendo tokens, registos de utilizadores, cargas internas — é analisado e tipificado completamente no seu dispositivo e nunca é carregado para nenhum lugar. Cole uma amostra, copie o esquema gerado para o seu projeto e comece a validar o que analisa.