Como usar: JSON para tipos
- 1
Cole os exemplos de JSON
Cole uma resposta, um array de registros ou várias respostas em sequência; o exemplo de amostra mostra dois usuários combinados.
- 2
Escolha a linguagem
Escolha TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift ou Rust, e as opções de estilo dela.
- 3
Dê um nome ao tipo raiz
Defina o nome do tipo de nível superior, por exemplo User ou OrderResponse.
- 4
Gere e copie
Clique em Gerar tipos e copie o código ou baixe-o; ao editar, ele é gerado de novo automaticamente.
Limites e Pro
Grátis e sem cadastro: 9 linguagens de saída com 3 estilos de Python, qualquer quantidade de exemplos combinados e arquivos de até 20 MB, com a geração interrompida após 30 segundos.
O Pro remove os anúncios; o gerador é o mesmo em todos os planos. Ver o Pro
Sobre: JSON para tipos
Escrever tipos à mão para a resposta de uma API é lento e sujeito a erros, principalmente quando os dados têm três níveis de aninhamento. Cole um ou mais exemplos de JSON e este gerador infere a estrutura e escreve definições prontas para colar em nove variações: interfaces ou type aliases do TypeScript, TypeScript com esquemas Zod para validação em tempo de execução, structs do Go com tags json, dataclasses, TypedDicts ou modelos Pydantic v2 do Python, records do Java com anotações Jackson, classes do C# para System.Text.Json, data classes do Kotlin para kotlinx.serialization, structs Codable do Swift e structs do Rust para serde.
Um único exemplo raramente mostra todos os campos, então o gerador combina quantos você enviar. Cole vários documentos em sequência, em JSON Lines ou um array de objetos: uma chave ausente em alguns objetos se torna opcional, uma chave que às vezes é null passa a aceitar nulo, um inteiro que às vezes é decimal vira float, e valores realmente mistos viram uma união ou o tipo dinâmico de JSON da linguagem. Objetos aninhados ganham tipos próprios com nome (orders vira Order, addresses vira Address), e formatos idênticos são gerados uma só vez e reutilizados. Objetos cujas chaves são números, UUIDs ou datas viram mapas.
Os nomes dos campos são convertidos para a convenção de cada linguagem, e chaves JSON diferentes, como first-name ou class, são mapeadas de volta com a anotação, o alias ou o CodingKeys adequado. Comentários e vírgulas finais no exemplo são tolerados.
O resultado descreve os exemplos que você fornece; o gerador não tem como conhecer campos ou valores que não aparecem neles, então confira o código com a documentação da sua API antes de usá-lo.
Privacidade
Os exemplos são analisados e o código é gerado por um Web Worker nesta aba, então respostas de API com dados pessoais ou internos nunca são enviadas. As opções de linguagem e de nomes ficam salvas no armazenamento local; o JSON que você cola não é guardado.
Recursos
Combina vários exemplos
Chaves ausentes se tornam opcionais e valores null passam a aceitar nulo em todos os exemplos que você colar.
9 linguagens
TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift e Rust com nomes no padrão de cada linguagem.
Mapeamento de chaves incluído
Tags json, aliases, @SerialName, @JsonProperty e CodingKeys mantêm os nomes originais do JSON.