尝试在go:
中将map [int]解析为用户定义的struct以下是数据模式。
type Recommendation struct {
Book int `json:"book"`
Score float64 `json:"score"`
}
这是json marshaling:
ureco := make(map[int]data.Recommendation)
ureco, _ = reco.UserRunner()
json, _ := json.Marshal(ureco)
fmt.Println(json)
其中reco.UserRunner()返回相应的结构类型。
这会打印一个空的json对象:
[]
更新:
错误消息:
json: unsupported type: map[int]data.Recommendation
那我如何json一个结构图?还是有替代方法?
答案 0 :(得分:4)
如果您只需要编组它,您可以迭代地图并将其转换为切片。
slc := make([]data.Recommendation)
for _, val := range ureco {
slc = append(out, val)
}
json, _ := json.Marshal(slc)
您可以在此处看到一个包含map[int]string
的简单示例:http://play.golang.org/