Conversor de JSON para TypeScript e Zod

JSON para TypeScript e Zod

Conversor de JSON para interface TypeScript + schema Zod | We.Inc

Cole JSON e receba interfaces TypeScript e um schema Zod de uma vez. Arrays são mesclados, então campos ausentes viram opcionais. Nada sai do seu navegador.

Cole qualquer amostra de JSON e este conversor escreve interfaces TypeScript para verificações em tempo de compilação e um schema Zod para validar dados em tempo de execução. Objetos aninhados ganham tipos próprios com nome, arrays de objetos são mesclados para que campos ausentes em alguns itens virem opcionais, e a conversão acontece localmente, então payloads privados ficam na sua máquina.

Como os valores JSON viram tipos

Os tipos só são tão bons quanto a amostra, então cole uma resposta que mostre todos os campos que você espera, de preferência com vários itens em cada array. Renomeie o tipo raiz, alterne entre interface e type alias e copie qualquer uma das saídas.

Tipos ou schema: do que você precisa?

Entendendo o que o conversor deduziu

Perguntas frequentes

Devo usar interface ou type alias?

Os dois descrevem formatos de objeto igualmente bem aqui. Interfaces com o mesmo nome se mesclam, o que ajuda ao estender tipos de bibliotecas; type aliases não se mesclam, mas podem nomear unions. Escolha um estilo para o código e mantenha.

Como obtenho o tipo TypeScript a partir de um schema Zod?

Use type User = z.infer<typeof UserSchema>. A saída Zod gerada já inclui essa linha abaixo de cada schema, então você não precisa manter interfaces separadas.

Por que um campo foi tipado como null?

A sua amostra tinha null ali, então não havia mais nada para deduzir. Substitua pelo tipo real unido a null, por exemplo string | null, ou z.string().nullable() no schema.

O meu JSON é enviado para um servidor?

Não. O parse e a geração rodam em JavaScript nesta página. Você pode carregar a página, ficar offline e ela continua funcionando.

Usando a saída

Validar uma resposta com o schema gerado

safeParse retorna sucesso ou uma lista de problemas em vez de lançar um erro, o que combina com código de fetch que deve mostrar um estado de erro.

O mesmo formato como interfaces simples

Útil para tipar props ou argumentos de funções quando os dados já são confiáveis.

Cole JSON, receba tipos

Cole uma resposta de exemplo. O conversor escreve interfaces TypeScript e um schema Zod correspondente lado a lado, mesclando todos os itens de um array para que campos ausentes em alguns itens saiam como opcionais.

Nome do tipo raiz

Estilo de declaração

propriedades readonly

Tornar opcionais os campos null

Carregar exemplo

Isso não é um JSON válido: {msg}

Schema Zod

Copiar

Comece grátis · Sem cartão de crédito

Relacionados: Ferramentas grátis

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site