1234567891011121314151617181920212223242526272829303132333435 |
- package types
- import (
- "database/sql"
- "encoding/json"
- "fmt"
- "time"
- )
- type NullTime struct {
- sql.NullTime
- }
- func (v NullTime) MarshalJSON() ([]byte, error) {
- if v.Valid {
- return json.Marshal(v.Time)
- } else {
- return json.Marshal(nil)
- }
- }
- func (v *NullTime) UnmarshalJSON(data []byte) error {
- var s *time.Time
- if err := json.Unmarshal(data, &s); err != nil {
- return err
- }
- if s != nil {
- v.Valid = true
- v.Time = *s
- fmt.Println(s)
- } else {
- v.Valid = false
- }
- return nil
- }
|