我是靠谱客的博主 感性外套,最近开发中收集的这篇文章主要介绍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 渲染案例注意事项说明所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部