在这种情况下,您需要实现自定义编组和非编组功能。
UnmarshalJSON(b []byte) error { ... }MarshalJSON() ([]byte, error) { ... }通过遵循json包的Golang文档中的示例,您将获得以下内容:
// first create a type aliastype JsonBirthDate time.Time// Add that to your structtype Person struct { Name string `json:"name"` BirthDate JsonBirthDate `json:"birth_date"`}// imeplement Marshaler und Unmarshalere interfacefunc (j *JsonBirthDate) UnmarshalJSON(b []byte) error { s := strings.Trim(string(b), """) t, err := time.Parse("2006-01-02", s) if err != nil { return err } *j = JsonBirthDate(t) return nil}func (j JsonBirthDate) MarshalJSON() ([]byte, error) { return json.Marshal(j)}// Maybe a Format function for printing your datefunc (j JsonBirthDate) Format(s string) string { t := time.Time(j) return t.Format(s)}


