Como usar
- Cole um exemplo de JSON ou clique em Carregar exemplo.
- Defina o nome da struct raiz.
- 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.