Pular para o conteúdo
ToolMug

Conversor de JSON para Go Struct

Cole um JSON e receba definições de struct Go com tags json, prontas para o encoding/json. Os nomes dos campos seguem as convenções do Go, objetos aninhados viram tipos próprios e as colunas são alinhadas como no gofmt.

Roda no seu navegador — nada do que você digita é enviado

Como usar

  1. Cole um exemplo de JSON ou clique em Carregar exemplo.
  2. Defina o nome da struct raiz.
  3. Copie ou baixe o código gerado e adicione-o ao seu pacote.

Opções explicadas

Nome do tipo raiz
Nome da struct de nível superior. As structs aninhadas recebem o nome das suas chaves.

Exemplos

{"user_id": 7, "email": null, "tags": ["a"]} vira:

type Root struct {
	UserID int64    `json:"user_id"`
	Email  any      `json:"email"`
	Tags   []string `json:"tags"`
}

Perguntas frequentes

Como os nomes dos campos são escolhidos?

As chaves são convertidas em nomes exportados em PascalCase, e siglas comuns são escritas em maiúsculas, como recomenda o estilo Go — user_id vira UserID e homeUrl vira HomeURL. A chave original é mantida na tag json.

Quando são usados ponteiros e omitempty?

Chaves que faltam em alguns itens do array recebem omitempty. Valores que às vezes são null viram ponteiros (*string), para que null possa ser diferenciado de um valor vazio; structs aninhadas opcionais também são ponteiros.

Quais tipos numéricos são usados?

Números inteiros viram int64 e números com casas decimais viram float64. Se uma chave tiver os dois em itens diferentes, é usado float64.

Meu JSON é enviado para algum servidor?

Não. Os tipos são gerados no seu navegador, então respostas de API com dados reais ficam no seu dispositivo.

Privacidade

Esta ferramenta funciona inteiramente no seu navegador. Seus arquivos e textos são processados no seu dispositivo e nunca são enviados aos nossos servidores.

Ferramentas relacionadas