Cara melaksanakan pensirilan dan penyahsirilan JSON dalam Golang
JSON (Notasi Objek JavaScript) ialah format pertukaran data yang biasa digunakan yang mewakili data berstruktur dalam bentuk teks. Di Golang, kami boleh menggunakan pakej pengekodan/json terbina dalam untuk melaksanakan operasi pensirilan dan penyahsirian JSON.
1. Siri JSON
Siri JSON merujuk kepada menukar jenis data dalam bahasa Go kepada rentetan yang mematuhi format JSON. Di Golang, kita boleh melaksanakan siri JSON melalui fungsi Marshal.
Berikut ialah contoh mudah:
package main import ( "encoding/json" "fmt" ) type Person struct { Name string `json:"name"` Age int `json:"age"` } func main() { person := Person{ Name: "小明", Age: 20, } jsonBytes, err := json.Marshal(person) if err != nil { fmt.Println("JSON序列化失败:", err) return } jsonString := string(jsonBytes) fmt.Println("JSON序列化结果:", jsonString) }
Jalankan kod di atas dan hasil output ialah:
JSON序列化结果: {"name":"小明","age":20}
Dalam contoh di atas, kami mentakrifkan struktur Orang dan menggunakan fungsi Marshal untuk mensirikan orang contoh struktur Orang sebagai rentetan JSON . Dengan menetapkan teg json
medan struktur, kami boleh menentukan nama medan dalam JSON.
2. Penyahserikatan JSON
Penyahserikatan JSON merujuk kepada menukar rentetan yang mematuhi format JSON kepada jenis data dalam bahasa Go. Di Golang, kita boleh melaksanakan penyahserikatan JSON melalui fungsi Unmarshal.
Berikut ialah contoh mudah:
package main import ( "encoding/json" "fmt" ) type Person struct { Name string `json:"name"` Age int `json:"age"` } func main() { jsonString := `{"name":"小明","age":20}` var person Person err := json.Unmarshal([]byte(jsonString), &person) if err != nil { fmt.Println("JSON反序列化失败:", err) return } fmt.Println("JSON反序列化结果:", person) }
Jalankan kod di atas, dan hasil output ialah:
JSON反序列化结果: {小明 20}
Dalam contoh di atas, kami mula-mula mentakrifkan rentetan format JSON jsonString. Seterusnya, gunakan fungsi Unmarshal untuk menyahsiri jsonString menjadi orang contoh struktur Orang. Perlu diingatkan bahawa parameter pertama fungsi Unmarshal ialah kepingan bait, dan rentetan itu perlu ditukar menjadi kepingan bait.
Ringkasan:
Dengan menggunakan fungsi Marshal dan Unmarshal dalam pakej pengekodan/json, kami boleh melaksanakan operasi pensirilan dan penyahserikatan JSON di Golang. Dalam pembangunan sebenar, pensirilan dan penyahserikatan JSON adalah operasi yang sangat biasa, terutamanya apabila berinteraksi dengan bahagian hadapan atau memproses data API luaran. Menguasai kemahiran ini boleh meningkatkan kecekapan pembangunan kita dengan banyak.
Atas ialah kandungan terperinci Kaedah untuk melaksanakan pensirilan dan penyahserikatan JSON di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!