为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 转换 JSON

Golang 转换 JSON

Go
慕斯709654 2022-06-01 16:01:12
我正在研究 Golang,GORM 以使用 Echo 框架实现 API我正在使用以下结构和函数来生成 JSONtype User struct {    gorm.Model    Name     string `json:"name"`    Username string `json:"username"`    Password string }func GetUsers(c echo.Context) error {    db := db.GetDBInstance()    users := []model.User{}    db.Find(&users)    return c.JSON(http.StatusOK, users)}这是我的 JSON 响应[ {  ID: 1,  CreatedAt: "2020-04-21T05:28:53.34966Z",  UpdatedAt: "0001-01-01T00:00:00Z",  DeletedAt: null,  name: "",  username: "test",  Password: "test123" }]我想将其转换为以下 JSON{  data: [{   ID: 1,   CreatedAt: "2020-04-21T05:28:53.34966Z",   UpdatedAt: "0001-01-01T00:00:00Z",   DeletedAt: null,   name: "",   username: "test",   Password: "test123"  }]}任何帮助将不胜感激
查看完整描述

2 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

您可以创建一个新结构来执行此操作


type Data struct{

    Data []model.User `json:"data"`

}


func GetUsers(c echo.Context) error {

    db := db.GetDBInstance()

    users := []model.User{}

    db.Find(&users)

    data := &Data{

        Data: users,

    }

    return c.JSON(http.StatusOK, data)

}


查看完整回答
反对 回复 2022-06-01
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

您可以创建助手来处理响应,例如:


助手/response_formatter.go


响应结构:


type Response struct {

    Data interface{} `json:"data"`

}

响应格式化函数:


func ResponseFormatter(data interface{}) Response {

    response := Response{

        Data: data,

    }


    return response

}

调用函数


import helper


...


response := helper.ResponseFormatter(users)


查看完整回答
反对 回复 2022-06-01
  • 2 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信