我在使用时遇到了一些麻烦UnmarshalJSON,MarshalJSON我不确定我是否正确理解了它们,或者至少我有一个我无法发现的错误,并且在我 3 小时的谷歌搜索中我还没有找到,所以就这样吧。我有以下用户结构type User struct { ID uuid.UUID `gorm:"primaryKey,type:string,size:36,<-:create" json:"id"` Username string `gorm:"unique" json:"username"` Password PasswordHash `gorm:"type:string" json:"password"` CreatedAt time.Time `gorm:"autoCreateTime:milli" json:"created_at"` UpdatedAt time.Time `gorm:"autoUpdateTime:milli" json:"updated_at,omitempty"` DeletedAt gorm.DeletedAt `gorm:"index" json:"deleted_at,omitempty"`}当我尝试json.Marshal使用内置encoding/json库中的函数将其转换为 JSON 时,我得到以下信息:{"id":"3843298e-74d4-4dd7-8eff-007ab34a4c19","username":"root","password":{},"created_at":"0001-01-01T00:00:00Z","updated_at":"0001-01-01T00:00:00Z","deleted_at":null}我期待这样的事情:{"id":"3843298e-74d4-4dd7-8eff-007ab34a4c19","username":"root","password":"$argon2id$v=19$m=4194304,t=1,p=64$Z9EFSTk26TQxx+Qv9g58gQ$4At0rvvv9trRcFZmSMXY0nISBuEt+1X8mCRAYbyXqSs","created_at":"0001-01-01T00:00:00Z","updated_at":"0001-01-01T00:00:00Z","deleted_at":null}
1 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
您已经MarshalJSON
定义了一个接收者*PasswordHash
,但您的值是类型PasswordHash
。将接收器更改为PasswordHash
并按预期工作:https ://go.dev/play/p/WukE_5JBEPL
- 1 回答
- 0 关注
- 77 浏览
添加回答
举报
0/150
提交
取消