为了账号安全,请及时绑定邮箱和手机立即绑定

c.JSON gin.H{()} 输出空对象

c.JSON gin.H{()} 输出空对象

Go
慕森卡 2022-04-26 15:54:03
我刚开始结合 Gin 框架学习 GO(lang),我决定编写一些简单的 api 来获取有关酒精饮料的数据。我目前的问题是 api (get method on http://localhost:8080/alcohol-drinks) 返回空数据对象我的代码:package mainimport (    "github.com/gin-gonic/gin")type alcoholDrink struct {    name             string    description      string    nutritionsAmount string    nutritions       map[string]string}func main() {    r := gin.Default()    r.GET("/alcohol-drinks", func(c *gin.Context) {        d := []alcoholDrink{            {                name:             "Gin",                description:      "DescriptionGin is a distilled alcoholic drink that derives its predominant flavour from juniper berries. Gin is one of the broadest categories of spirits, all of various origins, styles, and flavour profiles, that revolve around juniper as a common ingredient",                nutritionsAmount: "per 100 grams",                nutritions: map[string]string{                    "Calories":     "263",                    "TotalFat":     "0 g",                    "Cholesterol":  "0 mg",                    "Sodium":       "2 mg",                    "Carbohydrate": "0 g",                    "Protein":      "0 g",                },            },            {                name:             "Vodka",                description:      "odka is a clear distilled alcoholic beverage with different varieties originating in Poland and Russia. It is composed primarily of water and ethanol, but sometimes with traces of impurities and flavorings.",                nutritionsAmount: "per 100 grams",                nutritions: map[string]string{                    "Calories":     "231",                    "TotalFat":     "0 g",                    "Cholesterol":  "0 mg",                    "Sodium":       "1 mg",                    "Carbohydrate": "0 g",                    "Protein":      "0 g",                },            },        }问题是,我需要对变量做什么,d以便在浏览器中输出数据?
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

小写字段被认为是私有的,不会被标准的 json 序列化器序列化。


更改您的alcoholDrink类型的字段,使它们以大写字母开头:


type alcoholDrink struct {

    Name             string

    Description      string

    NutritionsAmount string

    Nutritions       map[string]string

}

如果您想在生成的 json 中查看小写名称,可以为每个字段添加注释:


type alcoholDrink struct {

    Name             string    `json:"name"`

    Description      string    `json:"description"`

    NutritionsAmount string    `json:"nutritionsAmount"`

    Nutritions       map[string]string   `json:"nutritions"`

}


查看完整回答
反对 回复 2022-04-26
  • 1 回答
  • 0 关注
  • 243 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信