golang实现sql结果集以json格式输出的方法
作者:newjueqi 时间:2024-04-27 15:33:05
本文实例讲述了golang实现sql结果集以json格式输出的方法。分享给大家供大家参考,具体如下:
func getJSON(sqlString string) (string, error) {
stmt, err := db.Prepare(sqlString)
if err != nil {
return nil, err
}
defer stmt.Close()
rows, err := stmt.Query()
if err != nil {
return nil, err
}
defer rows.Close()
columns, err := rows.Columns()
if err != nil {
return "", err
}
count := len(columns)
tableData := make([]map[string]interface{}, 0)
values := make([]interface{}, count)
valuePtrs := make([]interface{}, count)
for rows.Next() {
for i := 0; i < count; i++ {
valuePtrs[i] = &values[i]
}
rows.Scan(valuePtrs...)
entry := make(map[string]interface{})
for i, col := range columns {
var v interface{}
val := values[i]
b, ok := val.([]byte)
if ok {
v = string(b)
} else {
v = val
}
entry[col] = v
}
tableData = append(tableData, entry)
}
jsonData, err := json.Marshal(tableData)
if err != nil {
return "", err
}
fmt.Println(string(jsonData))
return string(jsonData), nil
}
希望本文所述对大家Go语言程序设计有所帮助。
标签:golang,sql,json
0
投稿
猜你喜欢
php中get_meta_tags()、CURL与user-agent用法分析
2024-05-02 17:32:52
javascript十个最常用的自定义函数(中文版)
2024-04-16 09:26:38
浅谈MySQL中group_concat()函数的排序方法
2024-01-22 09:21:12
深入浅析python3中的unicode和bytes问题
2022-11-29 02:41:47
django session完成状态保持的方法
2021-12-07 16:12:02
golang 防缓存击穿singleflight的实现
2024-05-09 09:55:23
解析SQL Server与ASP互操作的时间处理
2009-02-01 16:40:00
python实现定时同步本机与北京时间的方法
2021-03-24 10:58:14
Python去掉字符串中空格的方法
2021-12-09 14:23:07
Python编写屏幕截图程序方法
2022-10-04 11:11:47
ACCESS中Field对象的标题属性
2008-11-20 17:44:00
Java基于redis和mysql实现简单的秒杀(附demo)
2024-01-16 16:55:13
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2021-01-27 14:00:05
django框架使用方法详解
2021-07-07 18:12:00
MySQL字符串前缀索引使用
2024-01-22 17:58:58
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2024-02-24 23:04:24
网页设计的12种颜色
2011-05-21 08:40:00
asp获取客户端的MAC地址
2007-08-17 10:58:00
深入解析Python中的WSGI接口
2021-02-03 01:22:14
PHP 正则表达式常用函数使用小结
2024-05-03 15:35:15