使用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%等效,只是语法不同