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類型:
結果: