将嵌套结构元组化为 JSON

如何将嵌套结构编组为 JSON?我知道如何在没有任何嵌套结构的情况下编组结构。但是,当我尝试使 JSON 响应如下所示时:


{"genre": {"country": "taylor swift", "rock": "aimee"}}

我遇到了问题。


我的代码如下所示:


走:


type Music struct {

  Genre struct { 

    Country string

    Rock string

  }

}


resp := Music{

  Genre: { // error on this line.

    Country: "Taylor Swift",

    Rock: "Aimee",

  },

}


js, _ := json.Marshal(resp)

w.Write(js)

但是,我收到错误


Missing type in composite literal


我该如何解决?


DIEA
浏览 185回答 3
3回答

元芳怎么了

这是您的类型的复合文字:resp := Music{    Genre: struct {        Country string        Rock    string    }{         Country: "Taylor Swift",        Rock:    "Aimee",    },}您需要在文字中重复匿名类型。为了避免重复,我建议为 Genre 定义一个类型。此外,使用字段标签在输出中指定小写键名。type Genre struct {  Country string `json:"country"`  Rock    string `json:"rock"`}type Music struct {  Genre Genre `json:"genre"`}resp := Music{    Genre{        Country: "Taylor Swift",        Rock:    "Aimee",    },}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go