Source File: ex26/main.go
package main
import (
"log"
_ "github.com/mattn/go-sqlite3"
"github.com/jmoiron/sqlx"
"encoding/json"
"os"
)
type Customer struct {
Id int64 `db:"id"`
Name string `db:"name"`
Address string `db:"address"`
City string `db:"city"`
Zip string `db:"zip"`
}
func main() {
db, err := sqlx.Connect("sqlite3", "db.sqlite3")
if err != nil { log.Fatal(err) }
customers := []Customer{}
err = db.Select(&customers, "SELECT * FROM customer ORDER BY name ASC")
if err != nil { log.Fatal(err) }
json_out, err := json.MarshalIndent(customers, "", " ")
if err != nil { log.Fatal(err) }
err = os.WriteFile("customers.json", json_out, 0644)
if err != nil { log.Fatal(err) }
}