Gin之JSON序列化
文章目录
- Gin之JSON序列化
- 1.自定义map序列化
- 2.gin.H序列化
- 3.自定义结构体序列化(大写字段)
- 4.自定义结构体序列化(小写字段)
- 5.自定义结构体序列化(大写字段+tag)
Gin之JSON序列化
注:本文基于Windos系统上Go SDK v1.17.5、github.com/gin-gonic/gin v1.7.7依赖进行讲解
1.自定义map序列化
注意:gin中的序列化规则是与go的sdk中序列化一样的
package main
import ("github.com/gin-gonic/gin""net/http"
)
type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode
}
func main() {r := gin.Default()r.GET("/someJSON", func(c *gin.Context) {//自定义mapdata := map[string]interface{}{"name": "小王子","message": "helloworld","age": 18,}c.JSON(http.StatusOK, data)})r.Run()
}
2.gin.H序列化
package mainimport ("github.com/gin-gonic/gin"
)
func sayhello(c *gin.Context) {c.JSON(200, gin.H{"messgae": "Hello golang",})
}
func main() {r := gin.Default()r.GET("/hello", sayhello)r.Run(":9090")
}
3.自定义结构体序列化(大写字段)
package main
import ("github.com/gin-gonic/gin""net/http"
)
type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode
}
func main() {r := gin.Default()r.GET("/JSON", func(c *gin.Context) {// 自定义结构体var msg struct {Name string Message stringAge int}msg.Name = "小王子"msg.Message = "Hello world!"msg.Age = 18c.JSON(http.StatusOK, msg)})r.Run()
}
4.自定义结构体序列化(小写字段)
package mainimport ("github.com/gin-gonic/gin""net/http"
)type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode
}func main() {r := gin.Default()r.GET("/JSON", func(c *gin.Context) {// 自定义结构体var msg struct {name string Message stringAge int}msg.name = "小王子"msg.Message = "Hello world!"msg.Age = 18c.JSON(http.StatusOK, msg)})r.Run()
}
5.自定义结构体序列化(大写字段+tag)
假如前端人员要求返回的json的key首字母就是大写的,则可用tag的方法
演示1:
package main
import ("github.com/gin-gonic/gin""net/http"
)
func main() {r := gin.Default()r.GET("/JSON", func(c *gin.Context) {// 自定义结构体var msg struct {Name string `json:"name"`Message stringAge int}msg.Name = "小王子"msg.Message = "Hello world!"msg.Age = 18c.JSON(http.StatusOK, msg)})r.Run()
}
演示2:
package mainimport ("github.com/gin-gonic/gin""net/http"
)
func main() {r := gin.Default()r.GET("/JSON", func(c *gin.Context) {// 自定义结构体var msg struct {Name string `json:"aaaaa"`//可以随便定义Message stringAge int}msg.Name = "小王子"msg.Message = "Hello world!"msg.Age = 18c.JSON(http.StatusOK, msg)})r.Run()
}
Gin之JSON序列化相关推荐
- gin结构体序列化转换
gin结构体序列化转换 不想序列化的字段 用 - Field int `json:"-"` 空值则省略改字段 用 omitempty Field int `json:"m ...
- C#里XML(JSON)序列化时,自动隐藏值为Null的成员的输出
原文:C#里XML(JSON)序列化时,自动隐藏值为Null的成员的输出 从StackOverflow里找到的答案.发现对最新的Newtownsoft的JSON序列化也同样适用. https://st ...
- .NET 自定义Json序列化时间格式
.NET 自定义Json序列化时间格式 Intro 和 JAVA 项目组对接,他们的接口返回的数据是一个json字符串,里面的时间有的是Unix时间戳,有的是string类型,有的还是空,默认序列化规 ...
- C# Json 序列化与反序列化二
/// <summary>/// 将对象转换为 JSON 字符串/// </summary>/// <typeparam name="T">&l ...
- DotNet的JSON序列化与反序列化
JSON(JavaScript Object Notation)JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.在现在的通信中,较多的采用JSON数据格式,JSON有 ...
- 解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json
1..Net开源Json序列化工具Newtonsoft.Json中提供了解决序列化的循环引用问题: 方式1:指定Json序列化配置为 ReferenceLoopHandling.Ignore 方式2: ...
- xml 和 json 序列化忽略字段
xml 和 json 序列化忽略字段: @JsonIgnore@XmlTransient 转载于:https://www.cnblogs.com/xiluhua/p/9192577.html
- 解决Python自带的json序列化工具不能序列化datetime类型数据问题
解决Python自带的json序列化工具不能序列化datetime类型数据问题 参考文章: (1)解决Python自带的json序列化工具不能序列化datetime类型数据问题 (2)https:// ...
- Logstash为什么那么慢?—— json序列化
今天跟峡谷金桥聊天,询问起Logstash的性能,金桥提示说Logstash中json的序列化是浪费性能的一方面.于是便有了下面的测试: 第一步,造数据 首先需要造一份数据,数据可以通过logstas ...
最新文章
- 产品需求管理经验分享
- bzoj 4753: [Jsoi2016]最佳团体
- IDC时评:你对边缘计算有多少误解?
- 处于计算机学科的基础地位,谈谈离散数学在计算机学科中的地位和作用(原稿)...
- thinking-in-java(16) 数组
- ElasticSearch 如何使用 TDigest 算法计算亿级数据的百分位数?
- 除了下拉框/下拉联想词优化推广,还可以做那些网络推广?
- 树的孩子链表表示法可执行代码(创建,层次遍历)
- Chrome(谷歌浏览器)安装Adblock实现屏蔽烦人广告
- 计算机英语固定词组搭配,英语短语搭配,英语中穿的五种用法及搭配
- 同源时钟/同步时钟/异步时钟/同源时钟之间时序约束/clk group
- 如何离线加载全国2.48TB天地图
- Spring Data Elasticsearch 和 x-pack 用户名/密码验证连接
- 语音识别笔记(二)计算音系学
- 知识图谱嵌入的Translate模型汇总(TransE,TransH,TransR,TransD)
- 工业自动控制过程中最好用SCADA软件推荐
- STM32F05 学习中............
- 江苏省的计算机二级考试c语言
- Python爬虫之pyppeteer常用API快速上手
- 人脸识别5.1.3- insightface人脸识别模型arcface-Paddle
热门文章
- excel怎么设置打印区域_EXCEL打印页面设置技巧(四)打印区域和分隔符
- 【ae】蒙版边缘羽化
- sql server 与 oracle 数据库连接
- 如何有效利用大数据?
- word章节、图、表自动编号
- java json循环引用_填坑,解决json对象循环引用,在复杂案例中的应用
- SEO推广-SEO推广软件-SEO推广工具
- 北漂程序员深夜emo发帖求助:女朋友走了我很孤独 ......
- iPhone 6 为何坚持1GB内存?
- [附源码]计算机毕业设计Node.js善茶茶叶网站(程序+LW)