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

Formatadores de código

Formate e embeleze código Python, JSON e de outras linguagens.

Mais ferramentas

Ferramentas JSON e de dados

Compare JSON, valide esquemas e converta JSON para CSV ou YAML.

Mais ferramentas

Ferramentas de planilhas

Visualize arquivos CSV e Excel, formate tabelas ou converta CSV para Excel e SQL.

Ferramentas de Markdown

Escreva no editor Markdown e converta Markdown para HTML ou texto simples.

Ferramentas de texto

Compare textos, conte palavras, ordene linhas e encontre ou substitua texto.

Conversão e reprodução de áudio

Converta áudio, reproduza arquivos de som ou PCM e edite metadados de áudio.

Edição e efeitos de áudio

Edite, una ou divida áudio, remova ruído e ajuste velocidade, tom ou volume.

Mais ferramentas

Ferramentas de voz

Gere voz com IA a partir de texto, transcreva gravações ou grave sua voz.

Ferramentas de vídeo

Converta e comprima vídeos, corte trechos ou redimensione os quadros.

Mais ferramentas

Reprodução e gravação de vídeo

Reproduza vídeos, grave a tela ou a câmera, ou use o espelho online.

Ferramentas de PDF

Una PDF, divida páginas, comprima arquivos e converta PDF em imagens.

Mais ferramentas

Ferramentas de imagem

Converta imagens, redimensione fotos, comprima arquivos e extraia texto com OCR.

Mais ferramentas

Criação de imagens

Crie GIFs, imagens de texto, capturas de tela, nuvens de palavras e favicons.

Ferramentas de legendas

Edite legendas, converta SRT para VTT e ajuste as marcações de tempo.

Ferramentas de arquivos

Extraia arquivos compactados, crie arquivos ZIP e comprima pastas.

Codificadores | Decodificadores

Codifique ou decodifique Base64, escape URLs e trabalhe com sequências de escape HTML ou Unicode.

Mais ferramentas

Ferramentas numéricas

Converta bases numéricas, escreva números por extenso e trabalhe com binário ou hexadecimal.

Calculadoras

Use calculadoras de porcentagem, frações e estatísticas para cálculos cotidianos.

Ferramentas de tempo

Consulte o relógio online, use o cronômetro ou calcule diferenças entre datas.

Ferramentas de rede

Consulte seu endereço IP, teste IPv6 e calcule intervalos CIDR.

Conversões de unidades

Converta unidades de comprimento, peso, temperatura e armazenamento de dados.

Ferramentas de cores

Converta cores, extraia uma paleta de uma imagem e verifique o contraste.

Códigos QR e de barras

Crie ou leia códigos QR e de barras, incluindo códigos QR de Wi-Fi.

Ferramentas de desenvolvimento e segurança

Gere hashes, senhas e UUIDs, teste expressões regulares e use utilitários de código.

Mais ferramentas

Utilitários

Confira o tamanho da tela, meça com uma régua na tela, teste o teclado ou use um teleprompter.

Jogos

Faça uma pausa com “Quebrar ovos dourados”.