为了创建类似表格的结构,我在之前的应用程序中按以下格式序列化了我的行数据:
{ "key1": "...", "key2": "...", "15/04": 1.3, "15/05": 1.2, .... "17/08": 0.8 }
现在我正在尝试用 Go 重写它,以便通过实践经验学习这门语言。在 Go 中,可以通过将两个结构嵌入到另一个结构中来将它们组合在一起。来自该结构的编组 json 将具有平面结构,即生成的 json 对象将具有第一个和第二个结构的字段的联合,而无需嵌套。这是一个例子:https : //play.golang.org/p/jbJykip7pw(来自http://attilaolah.eu/2014/09/10/json-and-struct-composition-in-go/)
我想我也可以将映射嵌入到结构中,以便我可以使用以下类型定义在 json 之上编组:
type Row struct {
key1 string
key2 string
RowData
}
type RowData map[string]float64
...
func main() {
row := Row{
"...",
"...",
RowData{
"15/04": 1.3, "15/05": 1.2, .... "17/08": 0.8,
},
}
}
但这在我的 'Row' 对象中创建了一个字段 'RowData' 字段,而不是将 RowData 中的条目附加到我想要的平面 json 对象中:
{ "key1": "...", "key2": "...", "RowData": { "15/04": 1.3, "15/05": 1.2, .... "17/08": 0.8 } }
我想知道,是否有一种方法可以将映射或切片嵌入到结构中,以便生成的 json 对象是平面的,而无需MarshalJSON在 type 上定义函数Row?
阿晨1998
拉丁的传说
相关分类