golang中json和struct的使用
2021-01-25 08:15
标签:stat ola int name type mit art col article golang中json和struct的使用 type MyData struct { func ListAllOncallPlan(ctx *gin.Context) { 响应的结果为: { type MyData struct { data = Mydata{Name:"zhangsan"} 则id的键会被忽略掉,输出json为: { type MyData struct { type User struct { golang中json和struct的使用 标签:stat ola int name type mit art col article 原文地址:https://www.cnblogs.com/beilong/p/13237222.html
1、返回json响应结果
在struct的字段后面加入json:"key"可以进行json格式输出,其中key为json的键名
type SuccessResponse struct {
Code int `json:"code"`
Msg string `json:"msg"`
Data interface{} `json:"data"`
}
func SuccessRsp(ctx *gin.Context, data interface{}) {
res := SuccessResponse{
Code: 0,
Msg: "success",
Data: data,
}
ctx.JSON(http.StatusOK, res)
}
Id int `json:"id"`
Name string `json:"name"`
}
//你的业务代码
//......
data = Mydata{Id:1, Name:"zhangsan"}
SuccessRsp(ctx, plans)
}
"code": 0,
"msg": "ok",
"data": {
"id": 1,
"name": "zhangsan"
}
}
tips:
1.如果struct的某个字段没有传值,则输出的json为默认值,可以通过"omitempty"参数忽略掉值为空的键
Id int `json:"id,omitempty"`
Name string `json:"name"`
}
SuccessRsp(ctx, plans)
"code": 0,
"msg": "ok",
"data": {
"name": "zhangsan"
}
}
2.可以用"-"来完全掉忽略掉某个键, 比如下面的id不会被转化到json字段中
Id int `json:"-"`
Name string `json:"name"`
}
1
2
3
4
2、将数据库的字段转化成struct
如果使用gorm框架进行数据库连接,则可以用gorm:"column:key"来指定数据库的键,如下所示
Id int64 `gorm:"column:id" json:"id"`
Name string `gorm:"column:name" json:"name,omitempty"`
}
原文链接:https://blog.csdn.net/springlustre/java/article/details/88703929
下一篇:CSS 选择器常见的有几种?
文章标题:golang中json和struct的使用
文章链接:http://soscw.com/index.php/essay/46717.html