在Golang中可以为
JSON结构标记使用多个名称吗?
type Animation struct { Name string `json:"name"` Repeat int `json:"repeat"` Speed uint `json:"speed"` Pattern Pattern `json:"pattern",json:"frames"` }
对于单个字段,不允许有多个标记.在需要此类功能的情况下,您可以使用类型Info map [string] interface {}而不是您的结构.
或者您可以在结构中使用这两种类型,并使方法Details()返回正确的模式.
type Animation struct { Name string `json:"name"` Repeat int `json:"repeat"` Speed uint `json:"speed"` Pattern Pattern `json:"pattern"` Frame Pattern `json:"frames"` } func (a Animation) Details() Pattern { if a.Pattern == nil { return a.Frame } return a.Pattern }