package main import ( "encoding/json" "time" ) type Duration time.Duration func (d *Duration) UnmarshalJSON(b []byte) error { var s string if err := json.Unmarshal(b, &s); err != nil { return err } tmp, err := time.ParseDuration(s) if err != nil { return err } *d = Duration(tmp) return nil }