我面临一个问题,我在 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 关注
- 108 浏览
添加回答
举报
0/150
提交
取消