type StringList []string
func (p StringList) Value() (driver.Value, error) {
return json.Marshal(p)
}
func (p *StringList) Scan(data interface{}) error {
return json.Unmarshal(data.([]byte), &p)
}
之后就可以在struct里面使用
type MyData struct {
Something StringList `json:"something" gorm:"type:longText"`
}
代替了原来的
Something []string
其他类型的嵌套的结构体也可以通过这种方式实现存入