我知道有很多人遇到了同样的问题,但我仍然在这里。我很确定我的代码是正确的,但生成的结构仍然是空的。功能:func PostAdminHandler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-type", "application/json") var admin admin.Admin json.NewDecoder(r.Body).Decode(&admin) fmt.Println(admin) _, err := PostAdmin(admin) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) }}控制台打印 :{ ObjectID("000000000000000000000000")}结构:package entityimport "go.mongodb.org/mongo-driver/bson/primitive"type Admin struct { FirstName string LastName string Email string Password string Role string Campus primitive.ObjectID}路线: adminRoute.HandleFunc("/admin", admin.PostAdminHandler).Methods("POST")我通过失眠发送的Json数据:{ "FirstName": "Jeanne", "LastName": "Darc", "Email": "jeanne.darc@rouen.fr", "Password": "JeanneDarc2022", "Role": "admin", "Campus": "60d5a25ff4d722d3b77d1929",}错误我从解码器得到:invalid character '}' looking for beginning of object key string
1 回答
慕森卡
TA贡献1806条经验 获得超8个赞
此目录:
https://datatracker.ietf.org/doc/html/rfc7159
将 JSON 对象格式指定为:
对象结构表示为围绕零个或多个名称/值对(或成员)的一对大括号
。名称是字符串
。每个名称后面都有一个冒号,将名称
与值分隔开来。单个逗号将值与以下
名称分隔开。对象中的名称应该是唯一的。
object = begin-object [ member *( value-separator member ) ]
end-object
member = string name-separator value
因此,没有尾随逗号。
删除输入中的最后一个逗号。
- 1 回答
- 0 关注
- 68 浏览
添加回答
举报
0/150
提交
取消