golang实现sql结果集以json格式输出的方法
本篇章节讲解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 } PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用: 在线JSON代码检验、检验、美化、格式化工具: JSON在线格式化工具: 在线XML/JSON互相转换工具: json代码在线格式化/美化/压缩/编辑/转换工具: 在线json压缩/转义工具: C语言风格/HTML/CSS/json代码格式化美化工具: 希望本文所述对大家Go语言程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |