golang实现sql结果集以json格式输出的方法

2018-09-21 21:28

阅读:650

  本文实例讲述了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()
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
}

  PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

  在线JSON代码检验、检验、美化、格式化工具:

  JSON在线格式化工具:

  在线XML/JSON互相转换工具:

  json代码在线格式化/美化/压缩/编辑/转换工具:

  在线json压缩/转义工具:

  C语言风格/HTML/CSS/json代码格式化美化工具:

  希望本文所述对大家Go语言程序设计有所帮助。


评论


亲,登录后才可以留言!