Pular para o conteúdo principal
DevTools by Decussi
  • Ferramentas
  • Dados
  • Segurança
  • Rede
  • Texto
  • Data
  • Web
  • Dev
  • SEO
  • Brasil
Ferramentas
  1. Início
  2. /Ferramentas
  3. /Dados
  4. /JSON para Zod

JSON para Zod – Gere o schema de validação em TypeScript

Cole um JSON e receba o schema Zod correspondente, com os tipos já inferidos. Valide payloads em TypeScript sem escrever o schema na mão.

Código gerado
import { z } from "zod";

export const enderecoSchema = z.object({
  "cidade": z.string(),
  "uf": z.string(),
});

export type Endereco = z.infer<typeof enderecoSchema>;

export const rootSchema = z.object({
  "id": z.number().int(),
  "nome": z.string(),
  "ativo": z.boolean(),
  "saldo": z.number(),
  "tags": z.array(z.string()),
  "endereco": enderecoSchema,
  "ultimoAcesso": z.null().nullable(),
});

export type Root = z.infer<typeof rootSchema>;

Os tipos são inferidos do exemplo: campos ausentes em parte dos itens de um array viram opcionais, e valores null viram anuláveis. Tudo roda no navegador — o JSON não é enviado a nenhum servidor.

Como usar esta ferramenta

  1. Cole o JSON de exemplo
  2. Ajuste o nome do schema, se quiser
  3. Copie o código Zod gerado
  4. Cole no projeto e refine os campos opcionais

Sobre esta ferramenta

O que é

Zod é uma biblioteca de validação de esquemas para TypeScript em que o tipo estático é inferido do próprio schema. Validar com Zod garante em tempo de execução o que o TypeScript só garante na compilação.

Quando usar

  • Validar a resposta de uma API externa antes de usar os dados
  • Tipar e validar um formulário no front-end
  • Conferir variáveis de ambiente na subida da aplicação
  • Criar o contrato de entrada de uma rota de API
  • Partir de um payload real em vez de escrever o schema do zero

Perguntas frequentes

O schema gerado marca campos opcionais?
Só é possível inferir o que existe no exemplo colado. Campos que podem faltar em outras respostas precisam receber .optional() manualmente depois.
Como fica um campo null no JSON?
Vira z.null(), que raramente é o que se quer. Na prática, troque por .nullable() sobre o tipo real do campo.
Dá para extrair o tipo TypeScript do schema?
Sim. Com z.infer<typeof MeuSchema> o TypeScript deriva o tipo estático direto do schema, sem duplicar a definição.

Ferramentas relacionadas

  • {}JSON Viewer
  • 📐Formatador de JSON
  • 📦Minificador de JSON
  • ✓Validador de JSON
  • ↔Comparador de JSON
  • YMYAML ↔ JSON
DevTools

Ferramentas para desenvolvedores, em português. Sem cadastro e sem instalação.

Criado e mantido por Decussi

Ferramentas

  • Todas as ferramentas
  • Dados
  • Segurança
  • Rede
  • Texto
  • Data
  • Web
  • Dev
  • SEO
  • Brasil

Referência

  • Consulta rápida
  • Guias
  • Códigos HTTP
  • Cron
  • Checagens de SEO

Desenvolvedores

  • API e devs
  • llms.txt
  • ai.txt
  • Sitemap

Newsletter

Receba novidades e novas ferramentas no seu email.

Sugira uma ferramenta

Tem uma ideia? Envie sua sugestão.