尝试封送此结构时出现以下错误
json:为json类型调用MarshalJSON时出错。RawMessage:JSON输入意外结束
为下面结构的对象
type Chart struct {
ID int `json:"id,omitempty" db:"id"`
Name string `json:"name,omitempty" db:"name"`
Type string `json:"type,omitempty" db:"type"`
DashboardID int `json:"dashboard_id,omitempty"`
SourceType string `json:"source_type,omitempty" db:"source_type"`
Data json.RawMessage `json:"graph_data,ommitempty"`
}
func main() {
chart := Chart{}
chart.ID = 1
chart.Name = "Jishnu"
str, err := json.Marshal(chart)
fmt.Println(err)
}
1条答案
按热度按时间sbtkgmzw1#
通过使
Chart.Data
成为指针修复Go 1.8(目前是rc3)将正确处理指针和非指针json.RawMessage的编组。
修复提交:https://github.com/golang/go/commit/1625da24106b610f89ff7a67a11581df95f8e234