Go · Essencial · Inglês · Técnico
marshal
Converter um valor Go em texto serializado, em geral JSON, com json.Marshal. O inverso é Unmarshal. Só campos exportados entram, e as struct tags ajustam os nomes.
Onde usar
Aparece em toda API HTTP que responde JSON. Campos em minúsculas são ignorados em silêncio, causa frequente de resposta vazia.
Em código
type U struct {
Nome string `json:"nome"`
idade int // minúsculo: ignorado
}
b, _ := json.Marshal(U{"Ana", 30})
fmt.Println(string(b)) // {"nome":"Ana"}Exemplos
We marshal the struct to JSON before sending it.
Fazemos o marshal da struct para JSON antes de enviar.
The field is missing because it isn't exported, so marshal skips it.
O campo sumiu porque não é exportado, então o marshal o pula.
Cuidado
Campo não exportado não é serializado: a struct tag não adianta se o nome começa com letra minúscula.
Sinônimos
serializar
Antônimos
unmarshal