我从 postgres 得到一个 jsonb 列,它的价值类似于
{
"a": 123,
"b": "some str",
"c": {"d": 23},
"e": {"f":34, "g", 434}
}
如何访问密钥 a、b、d、f、g?谢谢
编辑:获取 jsonb 列“vars”:
type Msg struct{
Id int
Vars map[string]interface{}
}
queryToGetD := "select id, vars from msg_table"
if rows, errRow := db.Query(queryToGetD); errRow != nil {
return nil, fmt.Errorf("error while getting data \nquery %s \nerror %s", queryToGetD, err)
} else {
func (){
defer rows.Close()
for rows.Next(){
var msg Msg
var vars string
if err := rows.Scan(&msg.Id, &vars); err != nil{
// handle error
continue
}else{
if err := json.Unmarshal([]byte(vars), &msg.Vars); err != nil {
// handle error
continue
}
// Add msg to the needed slice
}
}
}
}
米脂
相关分类