最近在学习Go(Golang)。我正在尝试使用 Martini 和 jwt-go 制作一个简单的 Web 服务。我在检索单行数据并输入 JSON 作为响应时没有发现任何困难。但是,在处理多行时,情况就完全不同了。基本上,我指的是这里接受的答案。这是我的一段代码:m.Get("/users", func(params martini.Params, r render.Render) { db, err := sql.Open("mysql", "root:@/sirat_v2") if err != nil { panic(err.Error()) } defer db.Close() rows, err := db.Query("SELECT user_id, nama FROM `users` WHERE password = ?", "asdfasdf") defer rows.Close() cols, err := rows.Columns() if err != nil { panic(err.Error()) } partages := make([]*Partage, 0, 10) var user_id int var nama string for rows.Next() { err = rows.Scan(&user_id, &nama) if err != nil { /* error handling */ } partages = append(partages, &Partage{user_id, nama}) }})尝试构建时,有一个错误说 Partage 未定义。
1 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
出现错误是因为您使用 structPartage创建对象,但您尚未声明它。
type Partage struct {
user_id string
nama string
}
但是如何将结果显示为 JSON 响应?我试过 r.JSON(200, partages) 但结果没有显示
在马提尼酒中,您可以使用r.JSON()以rowsJSON 格式打印
m.Get("/users", func(params martini.Params, r render.Render) {
// ...
r.JSON(200, map[string]interface{}{
data: rows
})
})
- 1 回答
- 0 关注
- 318 浏览
添加回答
举报
0/150
提交
取消