Обычно JSON заменяет специальные HTML-символы их юникодными сущностями, например, <
становится \u003c
. Если вы хотите кодировать такие символы буквально, вы можете использовать PureJSON.
Эта функция недоступна в Go 1.6 и ниже.
func main() {
r := gin.Default()
// Serves unicode entities
r.GET("/json", func(c *gin.Context) {
c.JSON(200, gin.H{
"html": "<b>Hello, world!</b>",
})
})
// Serves literal characters
r.GET("/purejson", func(c *gin.Context) {
c.PureJSON(200, gin.H{
"html": "<b>Hello, world!</b>",
})
})
// listen and serve on 0.0.0.0:8080
r.Run(":8080")
}