HTTP 要求ヘッダーに応じて JSON または XML として出力できるアプリケーションがあります。使用している構造体に正しいタグを追加することで、どちらの場合も正しい出力を得ることができますが、JSON と XML の両方のタグを指定する方法がわかりません。
たとえば、これは正しい XML にシリアライズされます。
type Foo struct {
Id int64 `xml:"id,attr"`
Version int16 `xml:"version,attr"`
}
...そして、これは正しい JSON を生成します。
type Foo struct {
Id int64 `json:"id"`
Version int16 `json:"version"`
}
...しかし、これはどちらにも機能しません:
type Foo struct {
Id int64 `xml:"id,attr",json:"id"`
Version int16 `xml:"version,attr",json:"version"`
}