Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "encoding/json"
- "fmt"
- "os"
- "strconv"
- "time"
- )
- const input = `{"time": "946684799"}`
- type Delivery struct {
- Time time.Time `json:"time"`
- }
- func (d *Delivery) UnmarshalJSON(data []byte) error {
- type Alias Delivery
- aux := &struct {
- Time string `json:"time"`
- *Alias
- }{
- Alias: (*Alias)(d),
- }
- if err := json.Unmarshal(data, &aux); err != nil {
- return err
- }
- i, err := strconv.ParseInt(aux.Time, 10, 64)
- if err != nil {
- return err
- }
- d.Time = time.Unix(i, 0)
- return nil
- }
- func main() {
- var delivery Delivery
- err := json.Unmarshal([]byte(input), &delivery)
- if err != nil {
- fmt.Println(err.Error())
- os.Exit(1)
- }
- fmt.Println(delivery.Time)
- }
Add Comment
Please, Sign In to add comment