首先我有一个结构:
type times map[time.Time]struct{}
我需要为此编写Marshal/ Unmarshaljson 转换方法。我写过MarshalJSON方法,但不明白怎么写UnmarshalJSON方法。
func (ts times) keys() []time.Time {
res := make([]time.Time, 0, len(ts))
for key := range ts {
res = append(res, key)
}
return res
}
func (ts times) MarshalJSON() ([]byte, error) {
return json.Marshal(ts.keys())
}
func (ts *times) UnmarshalJSON(b []byte) (error) {
// ????
}
任何想法?
呼唤远方
相关分类