JSON para Tipos — TypeScript, Python, Go, Java, C# e muito mais

Cole uma resposta da API e receba modelos prontos para uso em 8 linguagens: TypeScript, Python (dataclass, TypedDict ou Pydantic), Go, Java, C#, Kotlin, Swift e Rust. Os objetos em matrizes são mesclados, então campos opcionais e que podem ser nulos são detectados automaticamente.

Atualizado em
TypeScript

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: JSON para Tipos

  1. Cole um exemplo de JSON — de preferência, uma resposta real de API com matrizes contendo vários itens — ou clique em “Carregar exemplo”.
  2. Escolhe a linguagem e um estilo: por exemplo, Pydantic v2 para FastAPI, records para Java moderno ou classes para C#.
  3. Defina o nome raiz. Objetos aninhados se tornam seus próprios tipos nomeados (por exemplo, Root, Address, OrderItem).
  4. Copie o código ou baixe-o com a extensão de arquivo correta.

Como os tipos são inferidos

  • Matrizes de objetos são mescladas — um campo que não está presente em alguns itens passa a ser opcional; um campo que às vezes null se torna nulo.
  • Números — os números inteiros se tornam tipos inteiros (int, int64, long, i64); qualquer número com decimais vira um float/double.
  • Datas — strings no formato ISO 8601, como 2026-10-26T09:30:00Z pode se tornar Date, datetime, time.Time, OffsetDateTime, DateTimeOffset ou DateTime<Utc>.
  • Valores mistos — o TypeScript usa um tipo de união; linguagens mais rígidas recorrem a um tipo genérico, como Any, interface{}, Object ou serde_json::Value.
  • Nomes — chaves que não são identificadores válidos são convertidas (snake_case para Python e Rust, PascalCase para Go e C#, camelCase para Java, Kotlin e Swift) e remapeadas com a anotação JSON da linguagem.

Saída por linguagem

LinguagemEstilosMapeamento JSON
TypeScriptinterface, alias de tipoChaves entre aspas quando necessário
Pythondataclass, TypedDict, Pydantic v2Field(alias=…)
Gostruct`json:"name,omitempty"` tags
Javarecord, POJOJackson @JsonProperty
C#registro, classeSystem.Text.Json [JsonPropertyName]
Kotlinclasse de dadoskotlinx.serialization @SerialName
SwiftstructCodable com CodingKeys
Ruststructserde #[serde(rename)]

Dicas

Cole uma resposta que tenha vários itens em cada array — quanto mais exemplos, melhor funciona a detecção de parâmetros opcionais e nulos. Ainda não tem dados de exemplo? Crie alguns com o Gerador de Dados Fictícios. Para opções exclusivas do TypeScript, como readonly e a sintaxe de array, o conversor dedicado de JSON para TypeScript tem configurações extras. Limpa primeiro o JSON bagunçado com o Formator de JSON.

Também pesquisado como: json para python, json para struct go, json para classe java, json para classe em c#, json para classe de dados em kotlin, json para codable do swift, json para rust serde, json para pydantic.

Ferramentas que combinam com: JSON para Tipos

  • JSON Path Finder — Paste a webhook payload or API response, click any value and copy its exact path — for JavaScript, JSONPath, jq, Python, PHP, n8n and Make.
  • JSON to YAML — Paste JSON and get clean YAML for Kubernetes manifests, Docker Compose, GitHub Actions or any config file.
  • cURL to Code — Paste a curl command — from API docs or “Copy as cURL” in your browser’s DevTools — and get ready-to-run code for six languages, with headers, body and authentication carried over.
  • JSON Schema Validator — Paste a schema and some JSON to see exactly which values break which rule — or generate a starting schema from example data.

Perguntas frequentes

Meu JSON já foi enviado?
Não. A análise e a geração de código acontecem inteiramente no seu navegador, então você pode colar respostas reais da API sem medo.
Como os campos opcionais são identificados?
Quando um array contém vários objetos, as chaves deles são unificadas. Uma chave que não estiver presente em pelo menos um objeto passa a ser opcional (por exemplo, name?: string, Optional[str], omitempty). Desative essa opção para tornar todos os campos obrigatórios.
Que estilo de Python devo usar?
Pydantic v2 se você precisar validar dados (FastAPI, configurações); dataclasses para contêineres com tipagem simples; TypedDict quando você trabalha com dicionários, por exemplo, para resultados do `json.load`.
O que acontece com matrizes vazias ou campos que só podem conter valores nulos?
Não dá pra deduzir nada, então eles viram um tipo genérico (desconhecido, Any, interface{}, Object, JsonElement, JsonElement, Any ou serde_json::Value). Adicione um item de exemplo pra conseguir um tipo preciso.
Posso instalar o JSON para Tipos como um aplicativo da web e usá-lo offline?
Sim. O JSON para Tipos é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas