我們在開發是傳送給前端的數據往往是以json格式發送的,但具體的方法是有一下兩種 (map和結構體)
package main import ( "net/http" "github.com/gin-gonic/gin" ) func main() { //設置返回路由引擎 r := gin.Default() r.GET("/json", func(c *gin.Context) { //方法一:map // data := map[string]interface{}{ // "name": "小魔仙", // "message": "hello golang", // "age": 13, // "sex": "男", // } c.JSON(http.StatusOK, gin.H{ "name": "小魔仙", "message": "hello golang", "age": 13, "sex": "女", "b1": " 今天是2021年08-30", }) }) //結構體返回,靈活使用tag來對結構體字段做定制化操作 type msg struct { Name string Message string Age int } r.GET("/another_json", func(c *gin.Context) { data := msg{ Name: "喬四美", Message: "七七", Age: 77, } c.JSON(http.StatusOK, data) //json的序列化,通過反射 ,所以結構體內的字段首字母要大寫 }) r.Run(":9090") }
注意:
gin.H{} 看源碼 也是封裝的一個map格式的數據類型