將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格式的數據。這在要求將數據存儲或傳輸到其他應用程序或移動設備時非常有用。
上一篇mysql分表的幾種方法
下一篇mysql區分工作日