最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
golang实现sql结果集以json格式输出的方法
时间:2022-06-29 01:26:46 编辑:袖梨 来源:一聚教程网
代码如下 | 复制代码 |
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 } |
相关文章
- 炉石传说绿野大作战卡组推荐2025 07-02
- 原神5.6新增食谱及料理收集攻略 07-02
- 上古卷轴4重制版炼金方式及材料获取攻略 07-02
- 币圈:Navigate(NVG8)币是什么?NVG8币主要用途介绍? 07-02
- 魔兽世界法师传送门在哪里学 07-02
- 金铲铲之战s14恭喜发财佛耶戈阵容怎么玩 07-02