Gerador de JSON para TypeScript, Go, Python, Zod e JSON Schema

Converta dados JSON para interfaces TypeScript, structs Go, dataclasses Python, schemas Zod ou JSON Schema. Cole JSON, obtenha saída tipada com suporte aninhado.

100% no navegador. Seus dados nunca saem do seu computador.

Cole JSON à esquerda para gerar tipos TypeScript.

Conversores e Exemplos

Converter Resposta de API REST para TypeScript

Gere tipos TypeScript a partir de uma resposta JSON típica de API REST

Converter JSON Config para TypeScript

Gere tipos TypeScript a partir de um objeto de configuração aninhado

Gerar Classes C# a partir de Resposta de API

Gere classes C# com atributos JsonPropertyName a partir de uma resposta JSON típica de API REST

Gerar Classes C# a partir de Objeto de Configuração

Gere classes C# com atributos JsonPropertyName a partir de uma configuração de aplicação aninhada

Generate Go Structs from API Response

Generate Go structs with JSON tags from a typical REST API JSON response

Generate Go Structs from Config Object

Generate Go structs with JSON tags from a nested application configuration

Gerar Classes Java a partir de Resposta de API

Gere classes Java com anotações Jackson a partir de uma resposta JSON típica de API REST

Gerar Classes Java a partir de Objeto de Configuração

Gere classes Java com anotações Jackson a partir de uma configuração de aplicação aninhada

Gerar Classes de Dados Kotlin a partir de Resposta de API

Gere classes de dados Kotlin com anotações kotlinx.serialization a partir de uma resposta JSON típica de API REST

Gerar Classes de Dados Kotlin a partir de Objeto de Configuração

Gere classes de dados Kotlin com anotações kotlinx.serialization a partir de uma configuração de aplicação aninhada

Gerar Dataclasses Python a partir de Resposta da API

Gere dataclasses Python com anotações de tipo a partir de uma resposta JSON típica de API REST

Gerar Structs de Rust a partir de Resposta de API

Gere structs Rust com serde derives a partir de uma resposta JSON típica de API REST

Gerar Structs de Rust a partir de Objeto de Configuração

Gere structs Rust com serde derives a partir de uma configuração de aplicação aninhada

Generate JSON Schema from API Response

Generate a JSON Schema (draft-07) from a typical REST API JSON response

Generate JSON Schema from Config Object

Generate a JSON Schema (draft-07) from a nested application configuration

Gerar Structs de Swift a partir de Resposta de API

Gere structs Swift Codable a partir de uma resposta JSON típica de API REST

Gerar Structs de Swift a partir de Objeto de Configuração

Gere structs Swift Codable a partir de uma configuração de aplicação aninhada

Gerar Schemas Zod a partir de Resposta da API

Gere schemas Zod com inferência de tipos TypeScript a partir de uma resposta JSON típica de API REST

Ferramentas Relacionadas

Gerador de JSON para TypeScript, Go, Python, Zod e JSON Schema

Cole JSON e obtenha interfaces TypeScript, structs Go, dataclasses Python, schemas Zod ou JSON Schema em segundos. A ferramenta analisa seus dados, infere tipos para cada campo e gera interfaces nomeadas para objetos aninhados. Sem cadastro, sem chamadas de servidor, sem dependências.

O que é um gerador de JSON para TypeScript?

Um gerador de JSON para TypeScript pega um objeto JSON de exemplo e produz as definições de tipo TypeScript correspondentes (interfaces, type aliases ou schemas Zod) inferindo o tipo de cada campo. Em vez de escrever manualmente os tipos que refletem suas respostas de API ou objetos de configuração, você cola um exemplo JSON representativo e a ferramenta gera os tipos automaticamente. Isso economiza tempo, reduz erros e lida com casos limites como objetos aninhados, arrays de tipos mistos e campos nullable.

Como usar

  1. Cole JSON válido no painel de entrada à esquerde, ou arraste e solte um arquivo .json
  2. Escolha o modo de saída: Interface (padrão), Type alias, Schema, Go, Python ou **Zod`
  3. Copie a saída gerada com o botão Copiar, ou faça download como arquivo .ts, .go, .py ou .json
  4. Cole os tipos no seu projeto e comece a usá-los imediatamente

Modos de saída

Modo Interface (padrão)

Produz interfaces TypeScript padrão. Melhor para respostas de API, objetos de configuração e quando você precisa de declaration merging.

Modo Type alias

Produz declarações type. Melhor para union types, mapped types e quando você precisa de mais flexibilidade nas suas definições de tipo.

Modo Schema

Produz um JSON Schema (draft-07) a partir dos seus dados. O schema inclui propriedades tipadas, listas de campos obrigatórios, distinção inteiro vs. ponto flutuante e schemas recursivos de objetos aninhados.

Modo Go

Produz structs Go com tags JSON struct. Cada campo obtém um nome exportado PascalCase e um tag json:"...". Campos opcionais incluem omitempty.

Modo Python

Produz dataclasses Python com type annotations. Os campos usam nomes snake_case, campos ausentes são tipados como Optional[T] = None.

Modo Zod

Produz schemas Zod com type inference. Cada objeto se torna um z.object(), campos ausentes usam z.optional(), o tipo TypeScript é exportado com z.infer.

Regras de inferência de tipos

A ferramenta mapeia valores JSON para tipos TypeScript, Go, Python, Zod e JSON Schema:

Valor JSONTipo TypeScriptTipo GoTipo PythonTipo ZodTipo JSON Schema
"ola"stringstringstrz.string()"string"
42numberintintz.number()"integer"
3.14numberfloat64floatz.number()"number"
true / falsebooleanboolboolz.boolean()"boolean"
nullnullinterface{}Nonez.null()"null"
{}Record<string, unknown>map[string]interface{}Dict[str, Any]z.record(z.unknown()){ "type": "object", "additionalProperties": true }
[]unknown[][]interface{}List[Any]z.array(z.unknown()){ "type": "array", "items": {} }
[{ ... }]TypeName[][]StructNameList[TypeName]z.array(TypeName){ "type": "array", "items": { ... } }
{ key: "val" }interface TypeName { ... }type StructName struct { ... }@dataclass class TypeName: ...z.object({...}){ "type": "object", "properties": { ... } }

Nomeação de objetos aninhados

Os objetos aninhados obtêm nomes baseados em caminho para evitar coliseis. Dado este JSON:

{
  "user": {
    "name": "Alice",
    "address": { "city": "NYC" }
  }
}

A ferramenta produz:

interface RootUserAddress {
  city: string;
}

interface RootUser {
  name: string;
  address: RootUserAddress;
}

interface Root {
  user: RootUser;
}

A convenção de nomes usa o caminho da chave em PascalCase: user.address se torna RootUserAddress.

Casos de uso comuns

Tipos de resposta de API

Cole uma resposta de API de exemplo e gere tipos para suas chamadas fetch. Funciona com APIs REST, respostas GraphQL e qualquer endpoint JSON.

Tipos de objetos de configuração

Gere tipos para arquivos de configuração, variáveis de ambiente ou objetos de configurações. A ferramenta lida com configs aninhadas com múltiplos níveis de profundidade.

Ferramentas relacionadas