DT Dev Tools

Converter JSON para Zod schema — Gerador de schemas

Converta JSON em schemas Zod com objetos aninhados, arrays, campos opcionais e anuláveis, além de tipos TypeScript z.infer. Grátis, rápido e privado.

🔒 Executa completamente no seu navegador — nada é enviado

Publicidade

Schemas Zod gerados a partir de JSON

Os tipos do TypeScript desaparecem em tempo de execução, então os dados vindos de uma API, de um formulário ou do localStorage são tão seguros quanto o código que os verifica. O Zod preenche essa lacuna validando valores contra um schema e inferindo o tipo TypeScript a partir desse mesmo schema. Este conversor de JSON para Zod escreve o schema para você: cole um exemplo de JSON e cada objeto vira um z.object, primitivos são mapeados para z.string(), z.number() e z.boolean(), arrays viram z.array(...) e objetos aninhados ganham schemas nomeados próprios, reutilizados onde quer que apareçam.

A ferramenta é movida pelo quicktype, que mescla todos os elementos de cada array antes de inferir os tipos. Campos que aparecem em apenas alguns itens são marcados como opcionais e valores que às vezes são null são marcados como anuláveis, de modo que o schema aceita os dados reais que você viu e não apenas o primeiro elemento.

Schemas e tipos inferidos juntos

Por padrão, a saída também exporta um tipo TypeScript para cada schema usando z.infer, dando a você uma única fonte de verdade para validação e tipagem estática. Importe o schema raiz e chame RootSchema.parse(data) para validar um valor não confiável e obter um resultado tipado, ou safeParse quando quiser tratar erros sem exceções. Marque Schemas only se preferir declarar os tipos em outro lugar. É um complemento natural da ferramenta JSON para TypeScript quando você precisa de garantias em tempo de execução, e não apenas dicas em tempo de compilação.

Dicas para schemas mais rigorosos

Gere a partir de um exemplo representativo, com vários itens no array e campos opcionais preenchidos. Depois, refine o que um exemplo não consegue mostrar: adicione .email(), .url() ou .uuid() a campos de string, use z.enum para campos com um conjunto fixo de valores, restrinja números com .int() ou .min() e decida se chaves desconhecidas devem ser removidas ou rejeitadas com .strict(). Toda a geração acontece localmente, então você pode colar payloads de produção com segurança.

Como usar

  1. Cole o JSONCole uma resposta de API ou qualquer exemplo de JSON, ou clique em Load sample.
  2. Nomeie a raizDefina o nome do schema raiz e decida se quer incluir os tipos inferidos.
  3. Copie os schemasCopie o código TypeScript ou baixe um arquivo .ts e valide com schema.parse().

Perguntas frequentes

O que a saída contém?
Um schema Zod para cada objeto do seu JSON, além de tipos TypeScript inferidos com z.infer. Marque Schemas only para dispensar os aliases de tipo.
Como campos opcionais e anuláveis são tratados?
Campos ausentes ou nulos em alguns exemplos recebem .optional() ou .nullable(), de modo que a validação aceite as variações vistas nos dados reais.
Qual versão do Zod ele tem como alvo?
Os schemas usam as APIs centrais z.object, z.array, z.string e z.number, que funcionam tanto no Zod 3 quanto no Zod 4.
Meu JSON é enviado?
Não. Os schemas são gerados inteiramente no seu navegador.
Publicidade