我知道有很多人遇到了同樣的問題,但我仍然在這里。我很確定我的代碼是正確的,但生成的結構仍然是空的。功能: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": "[email protected]", "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 關注
- 85 瀏覽
添加回答
舉報
0/150
提交
取消