|
|
|
@ -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{}
|
|
|
|
|