欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

golang sql結果轉json

傅智翔2年前9瀏覽0評論

將golang的sql查詢結果轉換為json格式是一項非常常見的任務。通過這種方法,可以使應用程序輕松地將數據以可讀性高的方式存儲和傳輸。

下面是一個快速的示例,演示如何使用golang和sql將結果轉換為JSON。

//引入相應的庫
import (
"database/sql"
"encoding/json"
"log"
)
// 建立一個模型結構體,表示SQL查詢的數據
type MyData struct {
Column1 string `json:"column1"`
Column2 int    `json:"column2"`
}
// 將sql查詢結果轉化為JSON數據,并返回結果
func retrieveData(db *sql.DB) ([]byte, error) {
rows, err := db.Query("SELECT column1, column2 FROM my_table")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
var myData []MyData // 將這里定義的結構體用于存放結果
for rows.Next() {
var data MyData // 建立一個新的結構體,存儲每一行的查詢數據
err := rows.Scan(&data.Column1, &data.Column2)
if err != nil {
log.Fatal(err)
}
myData = append(myData, data) // 將新的結構體添加到myData切片中
}
err = rows.Err()
if err != nil {
log.Fatal(err)
}
// 將myData切片數據轉化為JSON格式
jsonData, err := json.Marshal(myData)
if err != nil {
log.Fatal(err)
}
return jsonData, nil
}

以上代碼示例中,我們首先定義了一個表示SQL查詢結果的模型結構體,并在retrieveData函數中使用該結構體,將查詢結果轉化為JSON格式并返回。在該函數中,我們執行了一次SELECT語句,在其中掃描每一行結果,結構化數據并將其添加到一個切片中。最終,我們使用json.Marshal函數將該切片轉化為JSON格式的數據。

通過使用上述方法,您可以將golang的sql查詢結果快速方便地轉化為JSON格式的數據。這在要求將數據存儲或傳輸到其他應用程序或移動設備時非常有用。