我在Golang中有一个Gin-Gonic REST API。在这里我试图输出已经注册为 JSON 的用户,目前在 Postman 中我只得到:
(您可以忽略lastRequest-Attribut,因为它目前始终为 nil)
"[{\"id\":\"e61b3ff8-6cdf-4b23-97a5-a28107c57543\",\"firstname\":\"John\",\"lastname\":\"Doe\",\"email\":\"john@doe.com\",\"username\":\"johndoe\",\"token\":\"19b33c79-32cc-4063-9381-f2b64161ad8a\",\"lastRequest\":null},
但我想要这样:
[{
"id": "e61b3ff8-6cdf-4b23-97a5-a28107c57543",
"username": "johndoe",
"email": "john@doe.com",
"token": "19b33c79-32cc-4063-9381-f2b64161ad8a",
"lastRequest": null
}]
我该如何管理它,我用“ json.MarshalIndent ”尝试了很多东西(来自这个stackoverflow-post),但是它对我没有任何改变,我需要做什么?因为无论我做什么,反斜杠都会保留,最多\t插入空格。我还读到我必须将它作为一个字节数组来做,但这对我也不起作用(也许我在这里也做错了)。
这是我当前的代码:
var users []User
r.GET("/getusers", func(c *gin.Context) {
usersArr := make([]User, len(users))
for i := 0; i < len(users); i++ {
usersArr[i] = users[i]
}
userJson, err := json.Marshal(testUser)
if err != nil {
c.JSON(400, gin.H{"error": err.Error()})
} else {
c.JSON(200, string(userJson))
}
})
type User struct {
Id string `json:"id"`
Firstname string `json:"firstname"`
Lastname string `json:"lastname"`
Email string `json:"email"`
Username string `json:"username"`
Token string `json:"token"`
LastRequest []lastRequest `json:"lastRequest"`
}