Cara menggunakan fungsi json.Marshal dalam golang untuk menukar struktur kepada rentetan JSON
Dalam pembangunan perisian moden, penghantaran dan penyimpanan data sering menggunakan format JSON (JavaScript Object Notation). Dalam bahasa Go, kita boleh menggunakan fungsi json.Marshal untuk menukar struktur kepada rentetan JSON.
Fungsi json.Marshal terletak dalam pakej pengekodan/json, dan tandatangan fungsinya adalah seperti berikut:
func Marshal(v interface{}) ([]byte, error)
di mana v ialah pembolehubah struktur yang akan ditukar kepada rentetan JSON, dan fungsi mengembalikan kepingan bait dan ralat. Jika penukaran berjaya, kepingan bait yang dikembalikan ialah perwakilan rentetan JSON jika penukaran gagal, ralat bukan nol dikembalikan.
Di bawah kami menggunakan contoh khusus untuk menunjukkan cara menggunakan fungsi json.Marshal untuk menukar struktur kepada rentetan JSON.
package main import ( "encoding/json" "fmt" ) type Student struct { Name string Age int Score float64 } func main() { student := Student{ Name: "Alice", Age: 20, Score: 89.5, } // 将结构体转换为JSON字符串 jsonStr, err := json.Marshal(student) if err != nil { fmt.Println("转换失败:", err) return } fmt.Println(string(jsonStr)) }
Jalankan kod di atas, hasil output ialah:
{"Name":"Alice","Age":20,"Score":89.5}
Dalam kod di atas, kami mentakrifkan struktur Pelajar, kemudian buat pembolehubah pelajar dan tetapkan nilai awal. Seterusnya, kami memanggil fungsi json.Marshal untuk menukar pelajar kepada rentetan JSON dan mendapatkan pembolehubah jsonStr. Akhir sekali, kami menggunakan fmt.Println untuk mencetak jsonStr.
Perlu diambil perhatian bahawa fungsi json.Marshal menukar nama medan struktur kepada nama atribut JSON dan menukar nilai atribut kepada jenis JSON yang sesuai. Secara lalai, nama atribut dalam rentetan JSON yang ditukar ialah semua huruf kecil. Jika anda ingin mengekalkan kes asal nama medan, anda boleh menggunakan arahan json
dalam Teg medan struktur untuk menetapkannya.
Contohnya:
type Student struct { Name string `json:"name"` Age int `json:"age"` Score float64 `json:"score"` }
Dengan cara ini, nama atribut dalam rentetan JSON yang ditukar akan selaras dengan nama medan struktur asal.
Untuk meringkaskan, kita boleh menukar struktur menjadi rentetan JSON dengan menggunakan fungsi json.Marshal. Fungsi ini sangat mudah dan secara automatik boleh mengendalikan penukaran jenis data yang kompleks dan surat-menyurat nama medan. Dengan fungsi ini, kami boleh mengendalikan penghantaran dan penyimpanan data JSON dalam bahasa Go dengan mudah.
Atas ialah kandungan terperinci Bagaimana untuk menukar struktur kepada rentetan JSON menggunakan fungsi json.Marshal dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!