diff --git a/src/pkg/ormx/types.go b/src/pkg/ormx/types.go index 51790b6f89901455da66c875ef863853c6eaf8ab..6e1d26318bf3b6a83c532d7260c6db6489742ef9 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{}