Files
eiblog/vendor/github.com/qiniu/x/jsonutil.v7/unmarshal_string.go
2017-07-11 23:50:01 +08:00

20 lines
392 B
Go

package jsonutil
import (
"encoding/json"
"reflect"
"unsafe"
)
// ----------------------------------------------------------
func Unmarshal(data string, v interface{}) error {
sh := *(*reflect.StringHeader)(unsafe.Pointer(&data))
arr := (*[1<<30]byte)(unsafe.Pointer(sh.Data))
return json.Unmarshal(arr[:sh.Len], v)
}
// ----------------------------------------------------------