我面臨一個問題,我在 Go 中制作了一個 api,一切正常,但我沒有在郵遞員中獲取數據。當我在日志中打印數據時,我正在正確獲取數據,但它在郵遞員中顯示空白數據。authorizeModel.gofunc GetSkillList() map[string]interface{} { db := GetDB() var ( // id int skillName string ) type SkillList struct { name string } skillList := SkillList{} skillArr := []SkillList{} rows, err := db.Query("select DISTINCT(name) as name from skills where company_id IN ('2') and name != 'Skill Needed' order by name") if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { err := rows.Scan(&skillName) if err != nil { log.Fatal(err) } skillList.name = skillName skillArr = append(skillArr, skillList) } response := u.Message(true, "Skill list retrieved successfully") response["data"] = skillArr log.Println(skillArr) response["authorization"] = false return response}authController.govar SkillTagList = func(w http.ResponseWriter, r *http.Request) { resp := models.GetSkillList() u.Respond(w, resp)}路線.gorouter.HandleFunc("/api/v1/authorize/skillTagList", controllers.SkillTagList).Methods("POST")如果你看到 authorizeModel.go 我已經在日志中打印了我的數據,我在日志中成功獲取了該數據。但是請看下面的郵遞員截圖。
1 回答

斯蒂芬大帝
TA貢獻1827條經驗 獲得超8個贊
你必須重命名
name
為Name
我不確定是什么u.Respond()
,所以我假設它是您正在使用的某個框架的輔助函數,并且我假設u.Respond()
它在內部使用 json.Marshal。
如果您的結構有未導出的字段(在您的情況下,字段名稱以小寫字母開頭name
),則json.Marshal
無法訪問這些字段,結果將沒有name
字段。這就是您在 JSON 中獲取空對象的原因。
- 1 回答
- 0 關注
- 144 瀏覽
添加回答
舉報
0/150
提交
取消