Bagaimana untuk menyimpan data JSON ke pangkalan data di Golang?

PHPz
Lepaskan: 2024-06-06 11:24:57
asal
700 orang telah melayarinya

Data JSON boleh disimpan ke dalam pangkalan data MySQL dengan menggunakan perpustakaan gjson atau fungsi json.Unmarshal. Pustaka gjson menyediakan kaedah kemudahan untuk menghuraikan medan JSON dan fungsi json.Unmarshal memerlukan penunjuk jenis sasaran kepada data JSON unmarshal. Kedua-dua kaedah memerlukan penyediaan pernyataan SQL dan melaksanakan operasi sisipan untuk mengekalkan data ke dalam pangkalan data.

如何在 Golang 中将 JSON 数据保存到数据库中?

Cara menyimpan data JSON ke pangkalan data di Golang

Pengenalan
Di Golang, menyimpan data JSON ke pangkalan data adalah tugas biasa. Artikel ini akan meneroka kaedah yang berbeza untuk meneruskan data JSON menggunakan pangkalan data yang biasa digunakan seperti MySQL, dan menyediakan contoh praktikal untuk rujukan.

Menggunakan perpustakaan gjson
Pustaka gjson ialah pakej Golang yang popular untuk menghuraikan dan memanipulasi data JSON. Ia menyediakan kaedah mudah untuk menghuraikan data JSON ke dalam struktur data Go seperti peta dan kepingan.

package main

import (
    "database/sql"
    "encoding/json"
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    "github.com/tidwall/gjson"
)

func main() {
    db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database")
    if err != nil {
        panic(err)
    }
    defer db.Close()

    jsonData := `{
        "name": "John Doe",
        "age": 30,
        "address": {
            "street": "Main Street",
            "city": "New York"
        }
    }`

    values := []interface{}{}

    // 解析 JSON 字段
    name := gjson.Get(jsonData, "name").String()
    age := gjson.Get(jsonData, "age").Int()
    address := gjson.Get(jsonData, "address").String()

    values = append(values, name, age, address)

    // 准备 SQL 语句
    stmt, err := db.Prepare("INSERT INTO users (name, age, address) VALUES (?, ?, ?)")
    if err != nil {
        panic(err)
    }

    // 执行插入操作
    _, err = stmt.Exec(values...)
    if err != nil {
        panic(err)
    }

    fmt.Println("JSON data saved to database successfully")
}
Salin selepas log masuk

Menggunakan json.Unmarshal
Fungsi json.Unmarshal ialah sebahagian daripada pustaka standard Golang dan digunakan untuk menyahmarshal data JSON ke dalam pembolehubah Go. Kaedah ini memerlukan penunjuk jenis sasaran sebagai parameter kedua.

rreeee

Atas ialah kandungan terperinci Bagaimana untuk menyimpan data JSON ke pangkalan data di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!