• golang中json和struct的使用


    golang中json和struct的使用
    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)
    }

    type MyData struct {
    Id int `json:"id"`
    Name string `json:"name"`
    }

    func ListAllOncallPlan(ctx *gin.Context) {
    //你的业务代码
    //......
    data = Mydata{Id:1, Name:"zhangsan"}
    SuccessRsp(ctx, plans)
    }

    响应的结果为:

    {
    "code": 0,
    "msg": "ok",
    "data": {
    "id": 1,
    "name": "zhangsan"
    }
    }


    tips:
    1.如果struct的某个字段没有传值,则输出的json为默认值,可以通过"omitempty"参数忽略掉值为空的键

    type MyData struct {
    Id int `json:"id,omitempty"`
    Name string `json:"name"`
    }

    data = Mydata{Name:"zhangsan"}
    SuccessRsp(ctx, plans)

    则id的键会被忽略掉,输出json为:

    {
    "code": 0,
    "msg": "ok",
    "data": {
    "name": "zhangsan"
    }
    }


    2.可以用"-"来完全掉忽略掉某个键, 比如下面的id不会被转化到json字段中

    type MyData struct {
    Id int `json:"-"`
    Name string `json:"name"`
    }
    1
    2
    3
    4
    2、将数据库的字段转化成struct
    如果使用gorm框架进行数据库连接,则可以用gorm:"column:key"来指定数据库的键,如下所示

    type User struct {
    Id int64 `gorm:"column:id" json:"id"`
    Name string `gorm:"column:name" json:"name,omitempty"`
    }


    原文链接:https://blog.csdn.net/springlustre/java/article/details/88703929

  • 相关阅读:
    USACO Milk2 区间合并
    Codeforces 490B Queue【模拟】
    HDU 3974 Assign the task 简单搜索
    HDU 5119 Happy Matt Friends(2014北京区域赛现场赛H题 裸背包DP)
    Cin、Cout 加快效率方法
    POJ 1159 回文LCS滚动数组优化
    POJ 2479 不相交最大子段和
    POJ 1458 最长公共子序列 LCS
    在阿里最深刻的,还是职场之道给我的震撼
    精细化
  • 原文地址:https://www.cnblogs.com/beilong/p/13237222.html
Copyright © 2020-2023  润新知