我已经使用 golang 编写代码一段时间了。我遇到了一些我认为会很好用的东西。
当我在 golang 中对嵌套结构进行 JSON 编码时,我得到了字节数组,当我将其解码为接口(interface)并将接口(interface)转换为相应的嵌套结构时,它让我感到 panic ,说明接口(interface)转换:接口(interface)是映射[ string]接口(interface)但不是嵌套结构。
请通过以下链接。
https://play.golang.org/p/apdR4TKjee-
有人可以向我解释我缺少的是什么吗?
最佳答案
当您将 JSON 解码到 interface{}
时,它无法知道您希望它使用什么类型,因此它默认为 map[string ]接口(interface){}
as indicated in the documentation :
To unmarshal JSON into an interface value, Unmarshal stores one of these in the interface value:
...
map[string]interface{}, for JSON objects
如果要解码为特定类型,请将该类型的实例传递给 Unmarshal:
var result sample
err = json.Unmarshal(data,&result)
关于json - 将字节数组解码到接口(interface)并将该接口(interface)类型转换为结构不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48711705/