Golang Преобразование JSON - PullRequest
1 голос
/ 01 мая 2020

Я работаю над Golang, GORM для реализации API с использованием Echo Framework

Я использую следующую структуру и функцию для генерации JSON

type 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 response

[
 {
  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"
  }]
}

Любая помощь будет оценена

1 Ответ

3 голосов
/ 01 мая 2020

Вы можете создать новую структуру для этого

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)
}
...