PureJSON
Usualmente, JSON sustituye carácteres especiales HTML con sus entidades unicode. Por ejemplo <
se convierte a \u003c
. Si se requiere condificar este tipo de caracteres literalmente, se puede utilizar PureJSON.
Esta característica no está disponible en Go 1.6 o versiones inferiores.
func main() {
r := gin.Default()
// Sirve entidades unicode
r.GET("/json", func(c *gin.Context) {
c.JSON(200, gin.H{
"html": "<b>Hello, world!</b>",
})
})
// Sirve carácteres literales
r.GET("/purejson", func(c *gin.Context) {
c.PureJSON(200, gin.H{
"html": "<b>Hello, world!</b>",
})
})
// Escucha y sirve peticiones en 0.0.0.0:8080
r.Run(":8080")
}
Utilizando curl
tenemos:
curl http://localhost:8080/purejson
{"html":"<b>Hello, world!</b>"}
curl http://localhost:8080/json
{"html":"\u003cb\u003eHello, world!\u003c/b\u003e"}%