我们在开发是传送给前端的数据往往是以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格式的数据类型