Go Gin绑定JSON问题[重复]

hlswsv35  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(173)

此问题在此处已有答案

c.JSON gin.H{()} outputs empty objects(1个答案)
JSON and dealing with unexported fields(2个答案)
13天前关闭。
奇怪的是,我的代码中的http POST/GET请求返回空JSON(对于GET)或添加空结构(对于POST)。

package main
import (
   "fmt"
    "net/http"
    "github.com/gin-gonic/gin"
)
type employee struct {
    id int64 `json:"id" binding:"required"`
} 
var all_employee = []employee{
    {id: 1},  
}

func getEmployees(context *gin.Context) {
    
    context.IndentedJSON(http.StatusOK, all_employee)
    return
}
func main() {
    router := gin.Default()
    router.GET("/allemployees", getEmployees)
}

下面是curl输出
浏览器:
【{}】

jogvjijk

jogvjijk1#

发生这种情况是因为字段“id”未导出。
要将json解组为结构的字段,需要导出该字段。
将模型更改为:

type employee struct {
  Id int64 `json:"id" binding:"required"`
}

应该可以解决问题。
组织分解结构:id != Id
这篇文章有更多的细节:JSON and dealing with unexported fields

相关问题