Das Abrufen von JSON-Daten aus der Datenbank in Golang kann durch die folgenden Schritte erfolgen: Verwenden Sie den Typ „sql.RawBytes“, um JSON-Daten zu speichern; führen Sie eine Abfrage aus und scannen Sie die Daten in die Variable „sql.RawBytes“. Verwenden Sie die Funktion „json.Unmarshal“ zum Deserialisieren die JSON-Daten.
So rufen Sie JSON-Daten aus der Datenbank in Golang ab
In Golang können Sie den Typ sql.RawBytes verwenden, um JSON-Daten zu speichern und abzurufen. Mit diesem Ansatz können Sie JSON-Daten als Binärdaten in der Datenbank speichern und sie dann beim Abruf in ein JSON-Objekt deserialisieren.
Hier sind die Schritte zum Abrufen von JSON-Daten aus der Datenbank in Golang:
1. Installieren Sie die erforderlichen Bibliotheken
import ( "database/sql" _ "github.com/go-sql-driver/mysql" // 数据库驱动程序(根据需要更改) "encoding/json" )
2. Öffnen Sie die Datenbankverbindung
db, err := sql.Open("mysql", "user:password@tcp(host:port)/database") if err != nil { // 处理错误 }
3 aus der Datenbank Um JSON-Daten abzurufen, verwenden Sie bitte den Typ sql.RawBytes
.
rows, err := db.Query("SELECT json_column FROM table_name") if err != nil { // 处理错误 }
4. Zeilen scannensql.RawBytes
类型。
var jsonBytes []byte err = rows.Scan(&jsonBytes) if err != nil { // 处理错误 }
4. 扫描行
对于查询的每一行,使用 Scan
方法将 json_column
列扫描到 sql.RawBytes
类型的变量中。
var jsonObject map[string]interface{} err = json.Unmarshal(jsonBytes, &jsonObject) if err != nil { // 处理错误 }
5. 反序列化 JSON 数据
要将二进制 JSON 数据反序列化为 JSON 对象,请使用 json.Unmarshal
函数。
rows, err := db.Query("SELECT json_data FROM users") if err != nil { // 处理错误 } for rows.Next() { var jsonBytes []byte err = rows.Scan(&jsonBytes) if err != nil { // 处理错误 } var jsonObject map[string]interface{} err = json.Unmarshal(jsonBytes, &jsonObject) if err != nil { // 处理错误 } fmt.Println(jsonObject) }
实战案例
假设您有一个名为 users
的表,它有一个名为 json_data
的 JSON
列。要从 users
表中检索 json_data
列:
以上代码将遍历 users
表中的每一行,将 json_data
Scan
, um die Spalte json_column
in sql.RawBytes Geben Sie die Variablen ein. 🎜rrreee🎜🎜5. JSON-Daten deserialisieren🎜🎜🎜Um binäre JSON-Daten in ein JSON-Objekt zu deserialisieren, verwenden Sie die Funktion <code>json.Unmarshal
. 🎜rrreee🎜🎜Praktischer Fall🎜🎜🎜Angenommen, Sie haben eine Tabelle mit dem Namen users
, die eine JSON
-Spalte mit dem Namen json_data
enthält. So rufen Sie die Spalte json_data
aus der Tabelle users
ab: 🎜rrreee🎜Der obige Code durchläuft jede Zeile in der Tabelle users
und ersetzt die json_data in ein JSON-Objekt und gibt es auf der Konsole aus. 🎜Das obige ist der detaillierte Inhalt vonWie rufe ich JSON-Daten aus der Datenbank in Golang ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!