我有一个通过 ID 返回产品的函数,但问题是它没有将其作为数据数组返回func GetProductsById(c *gin.Context) { var Product models.Products if err := config.DB.Where("id=?", c.Query("prod_id")).First(&Product).Error; err != nil { c.JSON(http.StatusInternalServerError, err.Error()) } else { c.JSON(http.StatusOK, gin.H{"data": &Product}) }}json 响应{ "data": { "ID": 1, ... "Feedback": null }}我要这个:{ "data": [{ "ID": 1, ... "Feedback": null }]}
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
正如@mkopriva 所建议的那样,要轻松地将结构作为单元素 JSON 数组返回,请将其包装在切片文字中。
var p models.Product
// ...
c.JSON(http.StatusOK, gin.H{"data": []models.Product{p}})
如果不想为切片项指定特定类型,可以使用[]interface{},或者[]any从 Go 1.18 开始
c.JSON(http.StatusOK, gin.H{"data": []interface{}{p}})
// c.JSON(http.StatusOK, gin.H{"data": []any{p}})
- 1 回答
- 0 关注
- 187 浏览
添加回答
举报
0/150
提交
取消