go 结构体问题,回复有赞赏,感谢回复~

有这样一个结构体

type demo struct {
    Id   int
    Name string
}

现在从数据库循环读取数据,怎么让其成为这样

[{"Id":1,"Name":"zs"},{"Id":2,"Name":"ls"},{"Id":3,"Name":"ww"}]

整了一天没解决,这样的的目的是通过json.Marshal再转成json格式,求解决方法~

阅读 1.1k
1 个回答

https://gorm.io 可能要翻墙打开,不行的话直接百度gorm。

// db的初始化请从gorm的文当出获得
var data []models.demo
db.Find(&data)

jsonData,_ := json.Marshal(data)

// 这个时候的jsonData就已经是json字符串了,而且是[]byte形式。

如果使用的是 database/sql

可以使用
db.Query("语句")
得到游标rows

var data []models.demo
for rows.Next() {
    var temp models.demo
    rows.Scan(&temp.Id, &temp.Name)
    data = append(data, temp) 
   
}
 jsonData,_ := json.Marshal(data)
// 这个时候的jsonData就已经是json字符串了,而且是[]byte形式。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏