A Go SQL to JSON library.
#Installation
go get -u github.com/elgs/gosqljson
Data in the table:
ID NAME
0 Alicia
1 Brian
2 Chloe
4 Bianca
5 Leo
6 Joy
7 Sam
8 Elgs
package main
import (
"database/sql"
"fmt"
"github.com/elgs/gosqljson"
_ "github.com/go-sql-driver/mysql"
)
func main() {
ds := "username:password@tcp(host:3306)/db"
db, err := sql.Open("mysql", ds)
if err != nil {
fmt.Println("sql.Open:", err)
return
}
// headers []string, data [][]any, error
headers, data, _ := gosqljson.QueryToArray(db, gosqljson.Lower, "SELECT ID,NAME FROM t LIMIT ?,?", 0, 3)
fmt.Println(headers)
// ["id","name"]
fmt.Println(data)
// [[0,"Alicia"],[1,"Brian"],[2,"Chloe"]]
// data []map[string]any, error
data, _ := gosqljson.QueryToMap(db, gosqljson.Lower, "SELECT ID,NAME FROM t LIMIT ?,?", 0, 3)
fmt.Println(data)
// [{"id":0,"name":"Alicia"},{"id":1,"name":"Brian"},{"id":2,"name":"Chloe"}]
}