如何填充包含结构数组的嵌套 golang 结构

所以我一直试图填充我创建的结构的这个怪物,但没有成功。


type Initial_Load struct {

    Chapters []struct {

        Name    string `Chapter Name`

        PageNum int    `Number of Page"`

        Pages   []struct {

            Description string `Page Description`

            PageNumber  int    `Page Number`

            Source      string `Page Source`

        }

    }

    NumChapters int `Total number of chapters`

}

这是该结构正在建模的 JSON


{

   "Num_Chapters": 2,

   "Chapters": [

      {

         "Name": "Pilot",

         "Page_Num": 2,

         "Pages": [

            {

               "Page_Number": 1,

               "Source": "local.com",

               "Description": "First Page"

            },

            {

               "Page_Number": 2,

               "Source": "local.com",

               "Description": "Second Page"

            }

         ]

      },

      {

         "Name": "Chapter2",

         "Page_Num": 2,

         "Pages": [

            {

               "Page_Number": 1,

               "Source": "local.com",

               "Description": "First Page"

            },

            {

               "Page_Number": 2,

               "Source": "local.com",

               "Description": "Second Page"

            }

         ]

      },

      {

         "Name": "Chapter3",

         "Page_Num": 2,

         "Pages": [

            {

               "Page_Number": 1,

               "Source": "local.com",

               "Description": "First Page"

            },

            {

               "Page_Number": 2,

               "Source": "local.com",

               "Description": "Second Page"

            }

         ]

      }

   ]

}

有关于填充嵌套结构的已回答问题,但我还没有找到包含结构数组的问题。我知道这可能很简单,但我就是想不通。谢谢。


慕田峪9158850
浏览 128回答 1
1回答

慕神8447489

您可能需要将这些内部结构定义为类型。这有效:type Page struct {    Description string    PageNumber  int    Source      string}type Chapter struct {    Name    string    PageNum int    Pages   []Page}type Initial_Load struct {    Chapters    []Chapter    NumChapters int}var x Initial_Load = Initial_Load{    Chapters: []Chapter{        {            Name:    "abc",            PageNum: 3,            Pages: []Page{                {                    Description: "def",                    PageNumber:  3,                    Source:      "xyz",                },                {                    Description: "qrs",                    PageNumber:  5,                    Source:      "xxx",                },            },        },    },    NumChapters: 1,}我只放了 1 章,但你明白了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go