我正在尝试从我的Go应用程序中读取MySQL数据库中的数据。
var queryStr string = "SELECT * FROM Customers"
rows, err := db.Query(queryStr)
defer rows.Close()
for rows.Next() {
// do stuffs
}这个查询是好的,它可以工作;现在,我想很容易地将MySQL查询的每个记录映射到我前面定义的Customer对象,如下所示:
type Customer struct {
id IntegerType `json:"id"`
name string `json:"name"`
surname string `json:"surname"`
}我怎么能这么做?
第二个问题:一旦我得到了一个Customer对象数组,如何能够轻松地将它放在一个名为"data“的特定键下的新的JSON对象中?
谢谢你的支持:)
发布于 2016-06-19 14:27:49
导出字段,以便可以在JSON上使用:
type Customer struct {
ID int `json:"id"`
Name string `json:"name"`
Surname string `json:"surname"`
}声明一个要封送到JSON的值:
var v struct {
Data []Customer `json:"data"`
}查询特定字段:
var queryStr string = "SELECT id, name, surname FROM Customers"
rows, err := db.Query(queryStr)循环遍历添加到值的行。
defer rows.Close()
for rows.Next() {
// Scan one customer record
var c Customer
if err := rows.Scan(&c.ID, &c.Name, &c.Surnmae); err != nil {
// handle error
}
v.Data = append(v.Data, c)
}
if rows.Err() != nil {
// handle error
}将值分配给JSON
p, err := json.Marshal(v)
if err != nil {
// handle error
}值p是一个包含JSON的[]字节。
https://stackoverflow.com/questions/37907401
复制相似问题