解组json以反映结构

解组json以反映结构,第1张

解组json以反映结构

这里的问题是,如果您在此处省略类型断言

new := v.Elem().Interface()

new
推断有
interface{}
型。

然后,当您将地址解组时,类型

&new
*interface{}
(指向interface {}的指针),并且解组无法按预期工作。

如果可以

Elem()
直接使用指针引用而不是直接使用类型断言,则可以避免类型断言。

func main() {  //Original struct  orig := new(Employee)  t := reflect.TypeOf(orig)  v := reflect.New(t.Elem())  // reflected pointer  newP := v.Interface()  // Unmarshal to reflected struct pointer  json.Unmarshal([]byte("{"firstname": "bender"}"), newP)  fmt.Printf("%+vn", newP)}

游乐场:https :
//play.golang.org/p/lTBU-1PqM4



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5476565.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存