【发布时间】:2016-06-29 20:30:55
【问题描述】:
我正在使用 Golang 和 Postgres,Postgres 有一个高级功能,它可以以 Json 格式返回您的查询。我想要做的是获取 Json 查询结果并返回它,但我遇到了麻烦,因为它必须是一个字符串才能返回它。这是我的代码
package main
import(
"fmt"
"database/sql"
_ "github.com/lib/pq"
"log"
)
func HelloServer(w http.ResponseWriter, req *http.Request) {
db, err := sql.Open("postgres", "user=postgres password=password dbname=name sslmode=disable")
if err != nil {
log.Fatal(err)
}
defer db.Close()
rows, err := db.Query("select To_Json(t) (SELECT * from cars)t")
io.WriteString(w, "hello, world!\n")
}
func main() {
http.HandleFunc("/hello", HelloServer)
log.Fatal(http.ListenAndServe(":12345", nil))
}
Rows 元素返回一个 Json 数组,如何将该 Rows 元素转换为 String ?对于 C# 和 Java,我只需将 .ToString() 方法附加到它,它将使其成为 string 。正如您从上面的代码中看到的那样, io.WriteString 将 String 作为第二个参数,所以我想将 Rows 变量设为 String在它返回 Json 之后,我可以通过将它传递给方法在浏览器中显示它。我想用字符串行替换 Hello World。
【问题讨论】:
标签: postgresql go