1 回答
TA贡献2011条经验 获得超2个赞
始终检查错误。
err = json.Unmarshal(customerEntityBytes, &customerEntity)
if err != nil {
// json: cannot unmarshal array into Go value of type Entities.Customer
}
原因是,正如@mkopriva 指出的那样-您的JSON 是一个数组-并且您正在解组为单个结构。修理:
var customerEntity []Entities.Customer // use slice to capture JSON array
err = json.Unmarshal(customerEntityBytes, &customerEntity)
if err != nil { /* ... */ }
您当然可以使用您的自定义类型,但是_id通过将标签嵌套在您的Document结构中会丢失标签。要修复,请将其提升为Customer:
type Document struct {
//ID string `json:"_id,omitempty"`
UpdatedAt time.Time `json:"updatedat"`
CreatedAt time.Time `json:"createdat"`
}
type Customer struct {
ID string `json:"_id,omitempty"`
// ...
}
工作示例: https: //play.golang.org/p/EMcC0d1xOLf
- 1 回答
- 0 关注
- 84 浏览
添加回答
举报