gin中*gin.Context的JSON方法的使用
首先看這個方法,接收一個int類型的狀態碼和一個任意類型的obj:

第二個參數傳結構體,代碼示例:
package main
import (
"github.com/gin-gonic/gin"
)
type msg struct {
Name string
price int
}
func getBook(c *gin.Context){
// 第二個參數傳結構體
c.JSON(200, msg{
"小王子",
12,
})
}
func main() {
r:=gin.Default()
r.GET("/book", getBook)
r.Run(":9090")
}
結果只有一個Name字段,price字段丟失:

將price換成大寫字母開頭即可:

結果出現了Price字段,但是他們都是大寫字母開頭的:

如果要自定義,使用結構體的tag:

結果:

第二個參數傳gin.H類型,也就是map[string]interface{}


結果:

但是,當int類型特別大時,客戶端收到的數據精度會丟失
比如:

結果:

可以把它寫成string類型即可:

結果:

但是如果第二個參數傳的是結構體呢?通過tag設置即可轉序列換為string類型:

結果:

