Предположим, у меня есть следующее:
type My struct{
First string `xml:"first"`
Last string `xml:"name"`
...many more tags...
}
Я бы хотел изменить префикс всех тегов на «mycustomtag». Я видел https://stackoverflow.com/a/42549826/522962, но это описывает ручной способ, когда вы определили вторую структуру с тегами вручную. Как мне сделать это автоматически?
например. Я хотел бы закончить что-то вроде ниже, но так как есть много, много полей, как мне это сделать, чтобы мне не пришлось делать это вручную?:
// how do I do the next part automagically????
func (m *My) MarshalJSON() ([]byte, error) {
type alias struct {
First string `mycustomtag:"first"`
Last string `mycustomtag:"name"`
...many more tags...
}
var a alias = alias(*m)
return json.Marshal(&a)
}