JSON para structs Go

Gere declarações de structs Go a partir de um objeto ou array JSON representativo, incluindo tipos aninhados, nomes de campos exportados e tags json com os nomes originais das propriedades.

Escolha os nomes do pacote e do tipo raiz e gere um arquivo-fonte Go completo, com campos exportados válidos e tags json que preservam os nomes originais das propriedades. Revise as escolhas que dependem da amostra antes de usar os tipos em um aplicativo.

Como os valores JSON são mapeados para tipos Go

Como gerar structs Go a partir de JSON

  1. Cole um objeto JSON ou um array não vazio, ou carregue os dados de exemplo.
  2. Escolha os nomes do pacote e do tipo raiz e defina se as tags json devem incluir omitempty.
  3. Gere o código-fonte Go, revise os tipos inferidos e copie ou baixe o resultado.

Perguntas frequentes sobre JSON para structs Go

Que entrada JSON posso usar?

Use um objeto JSON ou qualquer array JSON não vazio. Um array no nível superior se torna um slice nomeado, e cada objeto do array contribui para os campos inferidos. Os nomes das propriedades precisam poder ser representados pelas tags de struct do encoding/json padrão do Go; nomes não compatíveis geram um erro em vez de serem alterados silenciosamente.

Como são tratados os arrays de objetos e os campos ausentes?

Arrays de objetos são combinados com base em todos os itens fornecidos. Um campo presente em apenas alguns itens ainda é gerado a partir dos valores disponíveis. A opção omitempty altera todas as tags json; ela não adiciona ponteiros nem valida campos obrigatórios.

O que acontece com valores null e mistos?

Um valor null, uma combinação incompatível de tipos de valor ou um array com valores incompatíveis se torna any. Um array vazio se torna []any porque a amostra não revela o tipo de seus elementos.

Posso usar os tipos gerados sem revisá-los?

Considere o resultado um ponto de partida baseado na amostra. Verifique campos opcionais, strings de data e hora, objetos semelhantes a mapas, intervalos numéricos e identificadores que possam exceder o intervalo exato de um número JSON antes de adicionar os tipos ao projeto.

Meu JSON é enviado?

Não. Esta ferramenta analisa e converte o JSON nesta aba do navegador. Ele não é enviado a um servidor.

Ferramentas relacionadas: Formatador de JSON · JSON para TypeScript · Gerador de JSON Schema