Geradores de código
JSON to Go Gerador de estrutura
Cole JSON e obtenha estruturas no estilo gofmt com tags json corretas em segundos. Os campos opcionais detectados nos itens da matriz são omitidos, os valores anuláveis tornam-se ponteiros e os ints permanecem ints.
- Funciona 100% no seu navegador
- Sem inscrição · Sem uploads
- Uso gratuito e ilimitado
JSON amostra
Exemplos: Objeto de usuário · Evento de webhook —⌘/Ctrl + Enter converte · solta um arquivo para carregá-lo · processado localmente
Estruturas Go
A saída é somente leitura. Use Copiar, Baixar ou Compartilhar para movê-lo.
Como usar a ferramenta JSON para ir
-
Cole seu JSON
Uma resposta do API que você está integrando funciona melhor. Inclui vários itens da matriz para que os campos opcionais fiquem visíveis.
-
Defina o nome do tipo raiz
Nomeie-o após o recurso: Usuário, Evento, Pedido. Os tipos aninhados são nomeados automaticamente a partir de suas chaves.
-
Copie para o seu arquivo Go
Cole em seu projeto e execute gofmt. Os nomes dos campos são maiúsculos, as tags correspondem exatamente às chaves originais, então json.Unmarshal funciona imediatamente.
O que torna esta ferramenta diferente
- tags json fiéis às chaves originais, incluindo Snake_case e traços
- omitempty para campos ausentes em alguns itens do array
- Tipos de ponteiro para valores genuinamente anuláveis (*string), portanto, null desempacota de forma limpa
- int vs float64 a partir de valores de amostra reais; qualquer para misturas irreconciliáveis
- saída compatível com gofmt com recuo de tabulação
Privacidade por arquitetura: esta página não contém análises que recebam sua entrada e o código de conversão é executado em sua guia. Você pode se desconectar da rede após carregar e continuar trabalhando.
JSON para ir — perguntas frequentes
Por que alguns campos se tornam ponteiros?
Um nulo JSON não pode ser armazenado em uma string simples ou int, então um campo anulável recebe um ponteiro (*string, *int). Isso permite que encoding/json distinga “ausente” e “presente, mas nulo” sem falhar, que é exatamente para que servem os tipos de ponteiro.
O que acontece quando um campo possui tipos mistos?
Se um valor for uma string em um item e um número em outro, o gerador usará qualquer um em vez de inventar um tipo concreto errado. Você pode então decidir por um UnmarshalJSON personalizado se o API for realmente tão solto.
As tags geradas incluem omitempty?
Somente para campos que estavam faltando em pelo menos um item da sua amostra. Os campos obrigatórios recebem tags simples, portanto, a viagem de ida e volta não descarta dados.
A saída é compatível com gofmt?
Sim – guias, alinhamento e ordem de campos seguem as convenções gofmt. Execute gofmt -l após colar e ele não deverá relatar alterações.
Posso gerar estruturas para respostas grandes?
Sim. Objetos aninhados tornam-se estruturas nomeadas separadas, enquanto o ciclo é impossível em JSON analisado, portanto, mesmo cargas profundamente aninhadas geram um conjunto de tipos simples e legível.
Ferramentas relacionadas
Procurando por “estrutura json para golang”, “vá gerador de estrutura”, “json para ficar on-line”? Você está no lugar certo - navegue por todas as 19 ferramentas.