Dalam bahasa pengaturcaraan Golang, JSON ialah struktur data yang sangat biasa. Golang menyediakan beberapa API yang mudah digunakan untuk kami melaksanakan operasi pengekodan dan penyahkodan JSON. Artikel ini akan memperkenalkan cara menukar JSON kepada objek Golang. Kami akan menggambarkan bagaimana ini dilakukan dengan contoh konkrit.
Pertama, kita perlu menggunakan pakej pengekodan/json di Golang. Pakej ini menyediakan kaedah untuk menukar antara objek Golang dan JSON. Yang paling penting ialah kaedah Marshal dan Unmarshal. Marshal digunakan untuk mengekod objek Golang ke dalam rentetan JSON, manakala Unmarshal digunakan untuk menyahkod objek Golang daripada rentetan JSON.
Mari kita lihat contoh konkrit. Pertimbangkan rentetan JSON berikut, yang mewakili objek pengguna yang disimpan dalam JSON.
{ "id": 123, "name": "John Doe", "email": "jdoe@example.com", "phone": "555-1234", "address": { "street": "123 Main St", "city": "Anytown", "state": "CA", "zip": "12345" } }
Kami akan menggunakan Golang untuk menulis kod untuk membaca JSON ini dan menukarnya menjadi objek Pengguna. Objek Pengguna kami ditakrifkan seperti berikut:
type User struct { ID int Name string Email string Phone string Address Address }
di mana Alamat juga merupakan jenis objek, yang digunakan untuk mewakili alamat kediaman pengguna:
type Address struct { Street string City string State string Zip string }
Mari lihat cara menukar JSON di atas menjadi kami Objek pengguna. Mula-mula kita boleh membaca rentetan JSON menggunakan kaedah Unmarshal dan kemudian menukarnya menjadi struktur Golang:
func decodeUser(jsonStr string) (User, error) { var user User err := json.Unmarshal([]byte(jsonStr), &user) if err != nil { return User{}, err } return user, nil }
Kita boleh menghantar rentetan JSON sebagai parameter kepada fungsi decodeUser kami melalui kaedah berikut untuk mendapatkan objek Pengguna:
jsonStr := `{ "id": 123, "name": "John Doe", "email": "jdoe@example.com", "phone": "555-1234", "address": { "street": "123 Main St", "city": "Anytown", "state": "CA", "zip": "12345" } }` user, err := decodeUser(jsonStr) if err != nil { fmt.Println("Error decoding JSON: ", err.Error()) } fmt.Printf("User: %+v", user)
Kod di atas harus mengeluarkan yang berikut:
User: {ID:123 Name:John Doe Email:jdoe@example.com Phone:555-1234 Address:{Street:123 Main St City:Anytown State:CA Zip:12345}}
Di Golang, menggunakan JSON sangat mudah dan mudah digunakan. Kami hanya perlu membiasakan diri dengan beberapa API dalam pakej json untuk melaksanakan pengekodan dan penyahkodan JSON. Melalui pengenalan di atas, pembaca boleh memahami cara Golang memproses JSON dan cara menukar rentetan JSON kepada objek Golang.
Atas ialah kandungan terperinci golang json untuk membantah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!