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  }