JSON para Estrutura Go
Converta uma amostra JSON em definições de estrutura Go com tipos e tags deduzidos.
JSON para Estrutura Go
Cole uma amostra JSON e esta ferramenta gerará as definições de estrutura Go correspondentes com tags json. Deduz int, float64, string, bool e null para cada campo, cria estruturas nomeadas ou incorporadas para objetos aninhados, e determina tipos de fatia para matrizes — incluindo fatias de objetos que têm sua própria estrutura reutilizável.
As opções moldam o código gerado. Nomeie a estrutura raiz você mesmo ou deixe a ferramenta deduzi-la. Escolha como as tags são escritas — mantenha a chave original ou converta-a para snake_case ou camelCase, independentemente de como o campo original foi nomeado. Ative "Adicionar omitempty" para adicioná-lo a cada tag, e "Ponteiros para campos opcionais" para marcar campos que faltam ou são nulos em partes da amostra com um tipo de ponteiro. Quando os objetos da matriz têm campos um pouco diferentes, "Mesclar formas de elementos de matriz" os combina em uma estrutura com campos adicionais marcados como opcionais em vez de desistir do tipo de elemento. Para valores que a ferramenta não consegue determinar, escolha interface{}, o alias any ou json.RawMessage para decodificação diferida.
Esta é a etapa antes de escrever um cliente API ou carregador de configuração em Go: cole uma resposta real ou amostra de configuração e obtenha uma estrutura inicial em vez de digitar manualmente nomes de campos e tags. As estruturas aninhadas podem permanecer como tipos nomeados separados para reutilização em outro lugar no pacote, ou serem renderizadas em linha quando uma forma é usada apenas uma vez. Para campos cuja tag não corresponde mais à chave JSON original, está disponível um comentário com a chave original.
Tudo é executado localmente no seu navegador — o JSON que você cola, que pode incluir respostas reais de API ou configuração interna, nunca é carregado. Copie o resultado, baixe-o como arquivo .txt ou mova a saída de volta para a entrada para refinar a amostra e regenerar.