diff --git a/src/pkg/ormx/types.go b/src/pkg/ormx/types.go index 51790b6f..6e1d2631 100644 --- a/src/pkg/ormx/types.go +++ b/src/pkg/ormx/types.go @@ -12,9 +12,16 @@ type JSONArr json.RawMessage // 实现 sql.Scanner 接口,Scan 将 value 扫描至 Jsonb func (j *JSONObj) Scan(value interface{}) error { + // 判断是不是byte类型 bytes, ok := value.([]byte) if !ok { - return errors.New(fmt.Sprint("Failed to unmarshal JSONB value:", value)) + // 判断是不是string类型 + strings, ok := value.(string) + if !ok { + return errors.New(fmt.Sprint("Failed to unmarshal JSONB value:", value)) + } + // string类型转byte[] + bytes = []byte(strings) } result := json.RawMessage{}