JSON para Go Struct Online
Gera structs Go tipadas com tags JSON. Grátis, no seu navegador.
Para que serve
JSON para struct Go no desenvolvimento de APIs
Compatível com encoding/json
O código gerado funciona diretamente com o pacote padrão encoding/json do Go — sem dependências externas.
100% privado
Seu JSON é processado no navegador. Nunca enviado a servidores. Seguro para payloads de APIs internas com dados sensíveis.
Tipos inferidos corretamente
Detecta string, int, float64, bool, arrays e structs aninhadas. Gera o tipo Go mais adequado para cada valor.
Instantâneo
A geração acontece enquanto você digita. Sem esperas, sem envios de formulário.
Como funciona
Três passos, sem complicação
Cole seu JSON
Digite ou cole o JSON que representa a resposta da sua API ou a estrutura de configuração. O editor valida o JSON em tempo real.
Obtenha sua struct Go
A ferramenta gera automaticamente uma struct Go com tipos inferidos (string, int, float64, bool, slice, struct aninhada) e tags do tipo json:campo.
Copie e use no seu projeto
Copie o código gerado diretamente para o seu arquivo .go. Compatível com o pacote padrão encoding/json do Go.
Perguntas frequentes
Ficou com dúvidas?
Go é uma linguagem fortemente tipada. Para decodificar respostas JSON de uma API, você precisa de uma struct que corresponda à estrutura do JSON. Definir essas structs manualmente é tedioso e sujeito a erros. Esta ferramenta automatiza esse processo, gerando structs com os tipos corretos e tags json: que mapeiam exatamente os campos do JSON original.
As tags json:nome nos campos de uma struct informam ao pacote encoding/json como serializar e desserializar aquele campo. Se o JSON tem uma chave user_name, a tag json:user_name mapeia esse campo para qualquer nome de campo Go que você preferir, como UserName. Sem tags, o Go exige que os nomes dos campos correspondam exatamente (com distinção entre maiúsculas e minúsculas).
Quando o JSON contém objetos dentro de objetos, a ferramenta gera structs aninhadas. Por exemplo, se você tiver um objeto address contendo city, será gerada uma struct Address com o campo City string, e a struct principal terá Address Address. Os nomes seguem a convenção CamelCase do Go.
O Go usa CamelCase para identificadores exportados. A ferramenta converte automaticamente snake_case (user_name), kebab-case (user-name) e outros estilos para PascalCase (UserName). Os campos exportados (começando com letra maiúscula) são obrigatórios para que o encoding/json possa acessá-los.
Em JSON, um campo pode estar ausente ou ser null. No Go, o valor zero de string é vazio e de int é 0, tornando impossível distinguir entre campo ausente e campo com valor zero. Usando ponteiros (*string, *int), o valor nil indica que o campo estava ausente ou era null. A ferramenta gera ponteiros quando infere que um campo pode ser opcional com base em valores null no JSON de exemplo.
Go e Golang: adoção no desenvolvimento de APIs, segurança de tipos e trabalho com JSON
Go (também chamado de Golang) foi criado pelo Google em 2009 e lançado publicamente em 2012. Seu design prioriza simplicidade, compilação rápida e desempenho. Ao contrário de Python ou JavaScript, o Go é fortemente tipado e compilado, o que significa que os erros de tipo são detectados em tempo de compilação, não em execução. Isso o torna especialmente valioso para serviços de backend e APIs onde a confiabilidade é fundamental.
O desenvolvimento de APIs REST com Go geralmente envolve decodificar JSON do corpo das requisições e codificar structs Go como JSON nas respostas. O pacote encoding/json da biblioteca padrão cuida dessa serialização. Tags de struct como json:field_name,omitempty oferecem controle preciso sobre o mapeamento de campos. O Go está por trás de ferramentas como Docker, Kubernetes, Terraform e CockroachDB.
A adoção do Go cresceu consistentemente no índice TIOBE e nas pesquisas do Stack Overflow. Seu modelo de concorrência baseado em goroutines e channels, além do modelo de memória eficiente, o torna ideal para microsserviços de alta carga. Gerar structs automaticamente a partir de respostas JSON de APIs externas (como Stripe, Twilio ou APIs REST internas) é uma tarefa diária para desenvolvedores Go, e automatizar esse processo economiza tempo significativo em projetos com esquemas JSON complexos ou em constante evolução.