go web 接口返回time.Time类型数据的格式化
使用自定义类型并重写 JSON 序列化和反序列化的方法 Go Web 接口结构体 type User struct { Id uint64 `json:"id"` Username string `json:"username"` Password string `json:"password"` CreateTime time.Time `json:"createTime"` }接口输出 createTime 字段的时候其格式并不符合我们的习惯。可以使用类型别名的方式重写 JSON 的两个方法: MarshalJSON() ([]byte, error) UnmarshalJSON(data []byte) error package types import ( "fmt" "time" ) type DateTime time.Time func (d DateTime) MarshalJSON() ([]byte, error) { // 重写time转换成json之后的格式 var str = fmt.Sprintf("\"%s\"", time.Time(d).Format("2006-01-02T15:04:05")) return []byte(str), nil }……