首页 > 代码库 > golang获取数据表转换为json通用方法
golang获取数据表转换为json通用方法
package mainimport ( "database/sql" "fmt" "log" "net/http" "time" _ "github.com/go-sql-driver/mysql")import "strings"func main() { http.HandleFunc("/getuser", getuser) s := &http.Server{ Addr: ":7080", ReadTimeout: 30 * time.Second, WriteTimeout: 30 * time.Second, MaxHeaderBytes: 1 << 20, } log.Fatal(s.ListenAndServe())}func getuser(w http.ResponseWriter, r *http.Request) { w.Write([]byte(getuser_json()))}func getuser_json() string { db, err := sql.Open("mysql", "root:root@tcp(localhost:3306)/jeecg?charset=utf8") if err != nil { panic(err.Error()) } defer db.Close() rows, err := db.Query("select * from t_s_user") if err != nil { panic(err.Error()) } columns, err := rows.Columns() if err != nil { panic(err.Error()) } values := make([]sql.RawBytes, len(columns)) scanArgs := make([]interface{}, len(values))for i := range values { scanArgs[i] = &values[i] } list := "[" for rows.Next() { err = rows.Scan(scanArgs...) if err != nil { fmt.Println("log:", err) panic(err.Error()) } row := "{" var value string for i, col := range values { if col == nil { value = "NULL" } else { value = string(col) } columName := strings.ToLower(columns[i]) cell := fmt.Sprintf(`"%v":"%v"`, columName, value) row = row + cell + "," } row = row[0 : len(row)-1] row += "}" list = list + row + "," } list = list[0 : len(list)-1] list += "]" fmt.Println(list) return list}
调用url : http://localhost:7080/getuser
golang获取数据表转换为json通用方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。