Tagi XML i JSON dla struktury Golang?

Mam aplikację, która może wysyłać jako JSON lub XML w zależności od nagłówków żądań HTTP. Mogę uzyskać poprawne dane wyjściowe, dodając poprawne znaczniki do struktur, których używam, ale nie mogę dowiedzieć się, jak określić tagi dla JSON i XML.

Na przykład to serializuje, aby poprawić XML:

type Foo struct {
    Id          int64       `xml:"id,attr"`
    Version     int16       `xml:"version,attr"`
}

... a to generuje poprawny JSON:

type Foo struct {
    Id          int64       `json:"id"`
    Version     int16       `json:"version"`
}

... ale to nie działa dla:

type Foo struct {
    Id          int64       `xml:"id,attr",json:"id"`
    Version     int16       `xml:"version,attr",json:"version"`
}

questionAnswers(1)

yourAnswerToTheQuestion