我是靠谱客的博主 感性外套,这篇文章主要介绍gin框架02--json渲染介绍json 渲染案例注意事项说明,现在分享给大家,希望可以做个参考。

gin框架02--json渲染

  • 介绍
  • json 渲染案例
  • 注意事项
  • 说明

介绍

Gin 框架对json支持的较晚上,开发人员可以按需选择多种 json 格式返回。
使用 AsciiJSON 生成具有转义的非 ASCII 字符的 ASCII-only JSON, 使用 PureJSON 输出纯json且不会转码,使用 IndentedJSON 输出可以缩进的 json信息。更多详细内容可以在 context.go 中寻找答案。

json 渲染案例

案例:

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

type user struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
	Age  int    `json:"age"`
}

func main() {
	r := gin.Default()
	r.GET("/someJson", func(c *gin.Context) {
		data := map[string]interface{}{
			"lang": "GO语言",
			"tag":  "<br>",
		}
		c.AsciiJSON(http.StatusOK, data)
	})

	r.GET("/pureJson", func(c *gin.Context) {
		c.PureJSON(200, gin.H{
			"message": "<b> Hello, World!</b>",
		})
	})

	r.GET("/indentJson", func(c *gin.Context) {
		users := []user{{ID: 123, Name: "张三", Age: 23}, {ID: 124, Name: "李四", Age: 24}}
		c.IndentedJSON(200, users)
	})

	r.Run(":8080")
}

测试:

AsciiJSON 输出
$ curl http://127.0.0.1:8080/someJson
{"lang":"GOu8bedu8a00","tag":"u003cbru003e"}

PureJSON 输出
$ curl http://127.0.0.1:8080/pureJson
{"message":"<b> Hello, World!</b>"}

IndentedJSON 输出
$ curl http://127.0.0.1:8080/indentJson
[
    {
        "id": 123,
        "name": "张三",
        "age": 23
    },
    {
        "id": 124,
        "name": "李四",
        "age": 24
    }
]

注意事项

  1. 除了上述 AsciiJSON、IndentedJSON 和 PureJSON 外, 还有 JSON、XML、YAML、ProtoBuf、String 等。详细内容可参考 context.go

说明

gin官方文档 AsciiJSON
Golang Gin 实战(八)| JSON渲染输出
github gin

最后

以上就是感性外套最近收集整理的关于gin框架02--json渲染介绍json 渲染案例注意事项说明的全部内容,更多相关gin框架02--json渲染介绍json内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部