It it possible in Golang to use more than one name for a JSON struct tag ?
type Animation struct {
Name string `json:\"name\"`
Repeat int `json:
See How to define multiple name tags in a struct on how you can define multiple tags on one struct field.
You can also use a type Info map[string]interface{}
instead of your struct.
Or you can use both types in your structure, and make method Details()
which will return right pattern.
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
}