当前位置: > > > > gorm 不支持的数据类型接口
gorm 不支持的数据类型接口
来源:stackoverflow
2024-04-29 10:54:31
0浏览
收藏
对于一个Golang开发者来说,牢固扎实的基础是十分重要的,米云就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《gorm 不支持的数据类型接口》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!
问题内容
gorm 不支持的数据类型接口。
如何将不同的结构保存到 json (gorm) 中的一个字段?需要类型检查,而不仅仅是 json 中的序列化。
有错误的示例代码:不支持的数据类型:models.fields
// table questions (GORM)
type Questions struct {
ID
Fields `json:"fields"`
// .....
}
type Fields interface{
// ...
}
// radio ----------
type Radio struct {
Text string
Img string
// ...
}
func (d Radio) Value() (driver.Value, error) {
return json.Marshal(d)
}
func (d *Radio) Scan(value interface{}) error {
b, ok := value.([]byte)
if !ok {
return errors.New("type assertion to []byte failed")
}
return json.Unmarshal(b, &d)
}
// Checkbox ----------
type Checkbox struct {
Text string
MaxCheckbox uint16
// ...
}
func (d Checkbox) Value() (driver.Value, error) {
return json.Marshal(d)
}
func (d *Checkbox) Scan(value interface{}) error {
b, ok := value.([]byte)
if !ok {
return errors.New("type assertion to []byte failed")
}
return json.Unmarshal(b, &d)
}
解决方案
您可能已经解决了这个问题,但您需要使用 。
终于介绍完啦!小伙伴们,这篇关于《gorm 不支持的数据类型接口》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~米云公众号也会发布Golang相关知识,快来关注吧!
