通常,JSON 使用 unicode 替换特殊 HTML 字符,例如 < 变为 \ u003c。如果要按字面对这些字符进行编码,则可以使用 PureJSON。Go 1.6 及更低版本无法使用此功能。
purejson.go:
package main
import "github.com/gin-gonic/gin"
func main() {
router := gin.Default()
// 提供 unicode 实体
router.GET("/json", func(c *gin.Context) {
// 输出:{"html":"\u003cb\u003eHello, world!\u003c/b\u003e"}
c.JSON(200, gin.H{
"html": "<b>Hello, world!</b>",
})
})
// 提供字面字符
router.GET("/purejson", func(c *gin.Context) {
// 输出:{"html":"<b>Hello, world!</b>"}
c.PureJSON(200, gin.H{
"html": "<b>Hello, world!</b>",
})
})
router.Run(":8080")
}