/*
http://stackoverflow.com/questions/32643815/golang-json-omitempty-with-time-time-field
*/
package main
import (
"encoding/json"
"fmt"
"time"
)
type StringStruct struct {
Val string `json:"val,omitempty"`
}
type IntStruct struct {
Val int `json:"val,omitempty"`
}
type TimeStruct struct {
Val
time.
Time `json
:"val,omitempty"`
}
func main() {
{
a := &StringStruct{}
b, _ := json.Marshal(a)
fmt.Println(string(b))
}
{
a := &IntStruct{}
b, _ := json.Marshal(a)
fmt.Println(string(b))
}
{
a := &TimeStruct{}
b, _ := json.Marshal(a)
fmt.Println(string(b))
}
}
LyoKaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zMjY0MzgxNS9nb2xhbmctanNvbi1vbWl0ZW1wdHktd2l0aC10aW1lLXRpbWUtZmllbGQKKi8KCnBhY2thZ2UgbWFpbgoKaW1wb3J0ICgKCSJlbmNvZGluZy9qc29uIgoJImZtdCIKCSJ0aW1lIgopCgp0eXBlIFN0cmluZ1N0cnVjdCBzdHJ1Y3QgewoJVmFsIHN0cmluZyBganNvbjoidmFsLG9taXRlbXB0eSJgCn0KCnR5cGUgSW50U3RydWN0IHN0cnVjdCB7CglWYWwgaW50IGBqc29uOiJ2YWwsb21pdGVtcHR5ImAKfQp0eXBlIFRpbWVTdHJ1Y3Qgc3RydWN0IHsKCVZhbCB0aW1lLlRpbWUgYGpzb246InZhbCxvbWl0ZW1wdHkiYAp9CgpmdW5jIG1haW4oKSB7Cgl7CgkJYSA6PSAmU3RyaW5nU3RydWN0e30KCQliLCBfIDo9IGpzb24uTWFyc2hhbChhKQoJCWZtdC5QcmludGxuKHN0cmluZyhiKSkKCX0KCXsKCQlhIDo9ICZJbnRTdHJ1Y3R7fQoJCWIsIF8gOj0ganNvbi5NYXJzaGFsKGEpCgkJZm10LlByaW50bG4oc3RyaW5nKGIpKQoJfQoJewoJCWEgOj0gJlRpbWVTdHJ1Y3R7fQoJCWIsIF8gOj0ganNvbi5NYXJzaGFsKGEpCgkJZm10LlByaW50bG4oc3RyaW5nKGIpKQoJfQp9Cg==