JSON para schema Zod
JSON to Zod Schema
Monta um schema Zod a partir de um exemplo de JSON, inferindo nullable, opcional e enum.
Transforma um documento JSON de exemplo em um esquema Zod — a verificação em tempo de execução que os tipos TypeScript não podem te dar. A saída é um conjunto de constantes `z.object` em ordem de declaração mais um tipo inferido para a raiz, então uma colada só te dá o parser e o tipo.
JSON de exemplo
Solte um arquivo .json
Lido nesta aba. Nada é enviado.
Dê todos os elementos que você tiver. Cada registro a mais estreita o palpite: um campo que falta em um deles é o que o torna opcional.
TypeScript
Como usar
Cole todos os registros que você tiver
Cada elemento de cada array é lido e mesclado, não só o primeiro. Três registros dizem muito mais do que um, porque um campo ausente em um deles é exatamente o que torna esse campo opcional.
Dê nome ao tipo raiz
Objetos aninhados recebem o nome da chave que os contém, no singular para arrays, então `users` produz um `User`. Só a raiz precisa de um nome seu.
Leia as contagens abaixo da saída
Tipos, campos opcionais, uniões e quantos registros foram mesclados. Uma contagem de uniões acima de zero significa que um campo teve dois tipos de valor diferentes na sua amostra — vale olhar antes de colar o resultado em uma base de código.
Cole e analise com ele
Os blocos são emitidos filhos primeiro, o que importa no Zod: um `z.object` que referencia uma constante declarada depois lança uma exceção na importação em vez de falhar na checagem de tipos. Mantenha a ordem como foi gerada.
Perguntas frequentes
Por que o esquema não bate com o contrato da minha API?
Porque ele descreve a amostra, não o contrato. Um campo marcado como opcional simplesmente faltava em um dos registros que você colou; um campo marcado como obrigatório ainda pode ser opcional em uma API da qual você não viu o bastante. Trate a saída como um primeiro rascunho para apertar à mão.
Há refinamentos — email, uuid, comprimento mínimo?
Nenhum. Tudo é `z.string()`, `z.number()` ou `z.boolean()`, com `.int()` quando todos os números da amostra eram inteiros. Adicionar `.email()` porque uma string tinha um @ seria adivinhar, e um refinamento errado rejeita dados válidos em produção.
O que acontece com um array vazio?
Ele vira `z.array(z.unknown())`, porque um array vazio não diz nada sobre o tipo dos seus elementos. Cole um registro em que o array não esteja vazio e o esquema se preenche sozinho.
Para qual versão do Zod isto serve?
As chamadas emitidas são as que são iguais no Zod 3 e no 4: `z.object`, `z.array`, `z.union`, `.nullable()`, `.optional()` e `z.record(z.string(), z.unknown())` na forma de dois argumentos. Nada específico de uma versão é usado.
Pode receber de
JSON para TypeScript
JSON to TypeScript
Infere interfaces ou tipos TypeScript a partir de um exemplo de JSON, mesclando campos opcionais e de união.
JSON para JSON Schema
JSON to JSON Schema
Infere um JSON Schema de um ou vários exemplos, unindo as formas que encontra.
Formatador e validador de JSON
JSON Formatter & Validator
Formata, minifica e valida JSON, apontando a linha e a coluna exatas de um erro de sintaxe.
Formatador e validador de YAML
YAML Formatter & Validator
Reindenta YAML de forma consistente, valida e aponta os erros de tabulação e âncora que quebram os parsers.
Em seguida
Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.
Validador de JSON Schema
JSON Schema Validator
Valida um documento contra um JSON Schema e informa cada falha com o caminho da instância.
JSON para JSON Schema
JSON to JSON Schema
Infere um JSON Schema de um ou vários exemplos, unindo as formas que encontra.
JSON para TypeScript
JSON to TypeScript
Infere interfaces ou tipos TypeScript a partir de um exemplo de JSON, mesclando campos opcionais e de união.
Codificar e decodificar Base64
Base64 Encoder & Decoder
Codifica e decodifica Base64 e Base64URL para texto ou arquivos, tratando UTF-8 corretamente.
curl para código
curl to Code
Converte um comando curl em fetch, axios, Python requests, Go, PHP ou PowerShell.
Hash de texto
Text Hash
Calcula MD5, SHA-1, SHA-256, SHA-384, SHA-512 e CRC-32 de uma string, com opção de saída em maiúsculas e Base64.