【发布时间】:2012-03-21 08:54:49
【问题描述】:
我正在使用 JSON 将一些值从外部源获取到变量中。
我有一个像这样的类型,json.Unmarshal 将值放入:
type Frame struct {
Type string
Value map[string]interface{}
}
var data Frame
解组后,我可以通过以下方式访问类型:data.Type
但如果我尝试做类似的事情:
if data.Type == "image" {
fmt.Printf("%s\n", data.Value.Imagedata)
}
编译器抱怨没有这样的值data.Value.Imagedata。
所以我的问题是,我如何在 Go 中引用我知道根据某些条件会存在的属性?
这样做很有效:
type Image struct {
Filename string
}
type Frame struct {
Type string
Value map[string]interface{}
}
但这不是很灵活,因为我会收到不同的Values。
【问题讨论】:
标签: go