首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >金巢式结构与地图

金巢式结构与地图
EN

Stack Overflow用户
提问于 2016-10-12 21:27:46
回答 1查看 1.6K关注 0票数 0

我对golang很陌生,我试图将数据库查询结果映射到嵌套的struct中,但是我得到了错误,无法找到最佳的方法。该程序按类别列出JSON - book details组。

结构如下所示:

代码语言:javascript
运行
复制
type book struct{
  category string
  books []*bookDetails
}

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

期望的JSON输出

代码语言:javascript
运行
复制
[
  {
    "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查询的输出。下面的代码工作得很好,但是我把所有的书都放在一个数组中,而且我是,无法弄清楚如何使它按类别分组。

代码语言:javascript
运行
复制
detailsMap := make(map[uint][]*details)
for dbRow.Next() {
  var det details
  detErr := dbRow.StructScan(&det)
  detailsMap[det.id] = append(detailsMap[det.id], &det)
}
EN

Stack Overflow用户

发布于 2016-10-13 04:26:34

第一位问了关于SO's go标签的问题。

结构成员必须出口,也就是以大写字母开头。

代码语言:javascript
运行
复制
type book struct{
  Category string `json:"category"`
  Books []*BookDetails `json:"books"`
}

type BookDetails struct{
  Name  string `json:"name"`
  ID    uint `json:"id"`
  Publisher string `json:"publisher"`
}
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40008652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档