目前json已经成为前后端交互的主要数据传输方式,那么gin框架是怎么输出json的呢?下面我们来讲讲在gin中是怎么输出json的。
package main
import "net/http"
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/json", func(c *gin.Context) {
data := map[string]interface{}{
"lang": "GO语言",
"tag": "gin",
}
c.JSON(http.StatusOK, data)
})
r.GET("/jsonp", func(c *gin.Context) {
data := map[string]interface{}{
"jsonp": "jsonp",
}
c.JSONP(http.StatusOK, data)
})
r.GET("/purejson", func(c *gin.Context) {
c.PureJSON(200, gin.H{
"html": "<b>Hello, world!</b>",
})
})
// 监听并在 0.0.0.0:8080 上启动服务
r.Run(":8080")
}
1、首先我们访问http://127.0.0.1:8080/json,返回的是标准的json数据
{ "lang": "GO语言", "tag": "gin"}
2、有的时候我们和前端交互,需要用jsonp的方式。访问http://127.0.0.1:8080/jsonp?callback=hanyun
hanyun({"foo":"bar"});
3、有的时候我们需要原样数据json数据,而不是转义后的数据,这个时候我们就需要purejson。访问http://127.0.0.1:8080/purejson,输出带HTML标签的json数据
{ "html": "<b>Hello, world!</b>"}