github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/core/rawdata/json.go (about) 1 package rawdata 2 3 import ( 4 "encoding/json" 5 "time" 6 ) 7 8 func (t Time) MarshalJSON() ([]byte, error) { 9 return t.Time().MarshalJSON() 10 } 11 12 func (t *Time) UnmarshalJSON(data []byte) error { 13 return (*time.Time)(t).UnmarshalJSON(data) 14 } 15 16 func (t Date) MarshalJSON() ([]byte, error) { 17 s := t.Time().Format("2006-01-02") 18 return json.Marshal(s) 19 } 20 21 func (t *Date) UnmarshalJSON(data []byte) error { 22 var tmp string 23 err := json.Unmarshal(data, &tmp) 24 if err != nil { 25 return err 26 } 27 parsed, err := time.Parse("2006-01-02", tmp) 28 *t = Date(parsed) 29 return err 30 }