Files
eiblog/vendor/qiniupkg.com/x/jsonutil.v7/unmarshal_string.go
2017-02-18 15:23:57 +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)
}
// ----------------------------------------------------------