gin框架返回json數據兩種方法


我們在開發是傳送給前端的數據往往是以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格式的數據類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM