Skip to content
jsonforge.app

JSON to Code

Gere tipos em TypeScript, Go, Python, Java, Kotlin, Rust, C# ou PHP a partir de JSON.

Entrada JSON

Loading editor…

Código gerado

Digite JSON à esquerda para gerar um tipo a partir dele.

O que é JSON to Code?

Um gerador de JSON to Code inspeciona a forma real de um documento JSON — suas chaves, aninhamento e tipos de valor — e produz uma definição de tipos correspondente na linguagem de programação de sua escolha: uma interface TypeScript, um struct Go, um TypedDict Python, um record Java, uma data class Kotlin, um struct Rust, um record C# ou uma classe PHP. Isso poupa o passo tedioso e propenso a erros de transcrever à mão uma resposta de API ou arquivo de configuração em código tipado toda vez que a forma daqueles dados muda. Em vez de escrever (e reescrever constantemente) definições de tipo à mão sempre que um payload JSON upstream ganha um campo ou muda o tipo de um valor, você cola o JSON uma vez e obtém um ponto de partida preciso na linguagem de destino, com objetos e arrays aninhados convertidos em seus próprios tipos nomeados.

Como usar JSON to Code

  1. Cole ou digite um documento JSON representativo no painel esquerdo — quanto mais completa a amostra (todos os campos opcionais presentes, arrays com pelo menos um item), mais completo será o tipo gerado.
  2. Escolha uma linguagem de destino no seletor acima da saída — TypeScript, Go, Python, Java, Kotlin, Rust, C# ou PHP.
  3. Opcionalmente, defina um nome para o tipo raiz (o padrão é "Root") — tipos de objetos aninhados são nomeados a partir da chave que os contém.
  4. Copie o código gerado do painel direito direto para o seu projeto.

Exemplos

Objeto plano → TypeScript

Entrada

{"id": 1, "name": "Ada", "active": true}

Saída

interface Root { id: number; name: string; active: boolean; }

Objeto aninhado → struct Go

Entrada

{"user": {"id": 1, "name": "Ada"}}

Saída

type Root struct { User RootUser `json:"user"` } type RootUser struct { Id int `json:"id"` Name string `json:"name"` }

Erros comuns

  • Colar uma amostra JSON sem os campos opcionais — o tipo gerado simplesmente omitirá campos que nunca viu, então uma amostra incompleta produz um tipo incompleto.
  • Esperar que tipos numéricos exatos (int vs. float, ou larguras de bits específicas) sejam inferidos — a maioria das linguagens aqui recebe um tipo numérico de propósito geral em vez de uma precisão adivinhada.
  • Esquecer de renomear o tipo raiz — se você está gerando vários tipos relacionados no mesmo arquivo, dê a cada geração um nome de raiz distinto para evitar colisão de nomes.

Por que usar esta ferramenta

  • Roda inteiramente no cliente — nenhum JSON que você colar aqui é enviado a um servidor.
  • Cobre oito linguagens a partir de uma única entrada, então você não precisa de uma ferramenta separada por linguagem de destino.
  • Objetos e arrays aninhados recebem sub-tipos devidamente nomeados em vez de serem achatados ou deixados sem tipo.

Perguntas frequentes