英文:
Retrieving a value from an empty interface
问题
我有一个空接口,我已经解析了一些 JSON 数据到这个接口中。
type Event interface {
}
目前,唯一的值是 name
,并且已经正确设置了。然而,我无法弄清楚如何实际获取这个变量的值。我该如何做到这一点?
英文:
I have an empty interface to which I have parsed some json data.
type Event interface {
}
As of now, the only value is name
, and this is being set correctly. However, I cannot figure how to actually retrieve the value of this variable. How do I do that?
答案1
得分: 5
如果你使用以下代码对JSON进行解组:
var f interface{}
err := json.Unmarshal(b, &f)
你可以使用类型断言来访问f
的底层map[string]interface{}
:
m := f.(map[string]interface{})
详细信息请阅读这篇博客文章。
在<kbd><a href="http://play.golang.org/p/Y9a5rvnRxJ"> Go Playground</a></kbd>上尝试一下。
英文:
If you did something this to unmarshel the json
var f interface{}
err := json.Unmarshal(b, &f)
You can use a type assertion to access f
's underlying map[string]interface{}:
m := f.(map[string]interface{})
For more detail read this blog post.
Try It on <kbd><a href="http://play.golang.org/p/Y9a5rvnRxJ"> Go Playground</a></kbd>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论