我正在尝试从 postgresql jsonb 和非 jsonb 列读取一些数据,然后解组我得到嵌套结构的响应字符串。
我能够以字符串形式检索数据。但我不知道如何将其解组到结构中。
package main
import (
"database/sql"
"fmt"
"log"
"strconv"
_ "github.com/lib/pq"
)
type Token struct {
Name string
Value string
Path string
HttpOnly bool
}
type Session struct {
Phishlet string `json:"phishlet,omitempty"`
LandingURL string `json:"landing_url,omitempty"`
Username string `json:"username,omitempty"`
Password string `json:"password,omitempty"`
Custom map[string]string `json:"custom,omitempty"`
Tokens map[string]map[string]*Token `json:"tokens,omitempty"`
SessionId string `json:"session_id,omitempty"`
UserAgent string `json:"useragent,omitempty"`
RemoteAddr string `json:"remote_addr,omitempty"`
CreateTime int64 `json:"create_time,omitempty"`
UpdateTime int64 `json:"update_time,omitempty"`
}
type Sessions struct {
Id int64
UserId []byte
Session Session
}
func main() {
db, err := sql.Open("postgres", "postgres://user:pass@localhost:port/db")
if err != nil {
log.Fatal(err)
}
rows, err := db.Query("SELECT id, user_id,session FROM sessions ORDER BY id")
defer rows.Close()
columns, err := rows.Columns()
if err != nil {
log.Fatal(err)
}
count := len(columns)
values := make([]interface{}, count)
scanArgs := make([]interface{}, count)
for i := range values {
scanArgs[i] = &values[i]
}
UYOU
相关分类