此问题在此处已有答案:
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输出
浏览器:
【{}】
1条答案
按热度按时间jogvjijk1#
发生这种情况是因为字段“id”未导出。
要将json解组为结构的字段,需要导出该字段。
将模型更改为:
应该可以解决问题。
组织分解结构:
id != Id
这篇文章有更多的细节:JSON and dealing with unexported fields