gpt4 book ai didi

json - 结果打印空 Json

转载 作者:IT王子 更新时间:2023-10-29 00:37:41 34 4
gpt4 key购买 nike

<分区>

我正在尝试从我的 postgres 数据库中检索一些数据并将它们作为 json 打印到 localhost/db。我在没有 json 的情况下成功地打印了它们,但我需要在 json 中打印它们。

main.go:

package main

import (
"database/sql"
"encoding/json"
"fmt"
"log"
"net/http"

_ "github.com/lib/pq"
)

type Book struct {
isbn string
title string
author string
price float32
}

var b []Book

func main() {

db, err := sql.Open("postgres", "postgres://****:****@localhost/postgres?sslmode=disable")

if err != nil {
log.Fatal(err)
}
rows, err := db.Query("SELECT * FROM books")
if err != nil {
log.Fatal(err)
}
defer rows.Close()

var bks []Book
for rows.Next() {
bk := new(Book)
err := rows.Scan(&bk.isbn, &bk.title, &bk.author, &bk.price)
if err != nil {
log.Fatal(err)
}
bks = append(bks, *bk)
}
if err = rows.Err(); err != nil {
log.Fatal(err)
}

b = bks

http.HandleFunc("/db", getBooksFromDB)
http.ListenAndServe("localhost:1337", nil)

}

func getBooksFromDB(w http.ResponseWriter, r *http.Request) {

fmt.Println(b)
response, err := json.Marshal(b)
if err != nil {
panic(err)

}

fmt.Fprintf(w, string(response))
}

This is what I get when I access localhost:1337/db

这是终端的输出:

 [{978-1503261969 Emma Jayne Austen 9.44} {978-1505255607 The Time Machine H. G. Wells 5.99} {978-1503379640 The Prince Niccolò Machiavelli 6.99}]

谁知道问题出在哪里?

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com