这是一个重现该问题的 go Playground:https://play.golang.org/p/GgHsLffp1G https://play.golang.org/p/GgHsLffp1G
基本上,我正在尝试编写一个函数,该函数接受一个结构并返回一个可以将 http 请求解码为该类型的函数。不幸的是,一些类型信息正在丢失,并且返回的类型是 map[string]interface{} 而不是正确的结构类型。如何将正确的类型传达给 JSON 解码器? JSON 解组效果会更好吗?
这似乎有效:
操场 https://play.golang.org/p/u-g-uoRYAc
func requestParser(i interface{}) parser {
return func(r io.Reader) (interface{}, error) {
json.NewDecoder(r).Decode(i)
return reflect.ValueOf(i).Elem(), nil
}
}
func main() {
var foo Foo
s := "{\"Name\":\"Logan\"}"
p := requestParser(&foo)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)