YamlBox

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.

Opções de conversão

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

  1. 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.

  2. 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.

  3. 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.

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.

Leitura mais profunda

Artigo do blog · 5 min de leitura JSON to Go: structs que desempacotam na primeira tentativa Converta JSON em estruturas Go com nomes de campos corretos e tags json, incluindo tipos aninhados — além de armadilhas numéricas, nulas e de tempo para observar. Leia o guia →