使用golang返回空数组,而不是null,用于使用gin返回json
所以我有一个结构:使用golang返回空数组,而不是null,用于使用gin返回json,json,go,go-gin,Json,Go,Go Gin,所以我有一个结构: type ProductConstructed struct { Name string `json:"Name"` BrandMedals []string `json:"BRAND_MEDALS"` } 当我用杜松子酒归还物品时: func contructproduct(c *gin.Context) { var response ProductConstructed response.Name = "toto" c.JS
type ProductConstructed struct {
Name string `json:"Name"`
BrandMedals []string `json:"BRAND_MEDALS"`
}
当我用杜松子酒归还物品时:
func contructproduct(c *gin.Context) {
var response ProductConstructed
response.Name = "toto"
c.JSON(200, response)
}
func main() {
var err error
if err != nil {
panic(err)
}
//gin.SetMode(gin.ReleaseMode)
r := gin.Default()
r.POST("/constructProductGo/v1/constructProduct", contructproduct)
r.Run(":8200") // listen and serve on 0.0.0.0:8080
}
它返回给我:
空的
而不是
[]
如何返回空数组
关于,因此解决方案是使用以下方法对其进行初始化:
productConstructed.BrandMedals = make([]string, 0)
您使用struct作为响应,而不是struct数组,所以当前输出是准确的。从代码中可以看出,您一次只想返回一个结构。因此,不要通过空数组来处理它,而是在null上处理它。或者
productConstructed.brandImplements=[]字符串{}
就可以了too@Seaskyways您的解决方案更加优雅易懂,而且100%等效,只是语法不同