golang嵌套结构和映射

时间:2016-10-12 21:27:46

标签: json go struct structure

我是Golang的新手,并尝试将数据库查询结果映射到我的嵌套结构,但我收到错误而无法找到最佳方法。该程序假设出JSON - 按类别分列书籍详细信息。

结构如下

type book struct{
  category string
  books []*bookDetails
}

type bookDetails struct{
  name  string
  id    uint
  publisher string.
}

预期的JSON输出

[
  {
    "category" : "Ficton",
    "books" : [
               {name:'aaa',id:12,publisher:'one'},
               {name:'bbb',id:13,publisher:'two'}
             ]
  },
 {
    "category" : "suspense",
    "books" : [
               {name:'ccc',id:14,publisher:'three'},
               {name:'ddd',id:15,publisher:'four'}
             ]
  }
]

我不是在这里编写SQL查询,但请假设类似的数据库模式。以下代码中的 dbRow 是select查询的输出。以下代码工作正常,但我将所有书籍都放在一个数组中,而且我无法弄清楚如何按类别划分

detailsMap := make(map[uint][]*details)
for dbRow.Next() {
  var det details
  detErr := dbRow.StructScan(&det)
  detailsMap[det.id] = append(detailsMap[det.id], &det)
}

1 个答案:

答案 0 :(得分:0)

关于SO go go标签的#1问题。

必须导出Struct成员,即以大写字母开头。

Zookeeper