ExpertiDict

Go · Essencial · Inglês · Técnico

marshal

/ˈmɑɹ.ʃəl/verbo

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

Veja também

Todos os termos de Go