Cara golang mengendalikan format JSON
Golang ialah bahasa pengaturcaraan yang semakin popular yang popular secara meluas kerana kecekapan, kesederhanaan dan kebolehpercayaannya. Di Golang, terdapat format data yang dipanggil JSON (JavaScript Object Representation), yang sering digunakan dalam aplikasi web untuk penghantaran dan pertukaran data. Dalam artikel ini, kami akan meneroka cara mengendalikan format JSON menggunakan Golang.
Pertama, kita perlu memahami beberapa pengetahuan asas tentang JSON di Golang. Di Golang, pakej JSON sudah mempunyai sokongan terbina dalam untuk pengekodan dan penyahkodan JSON. Pengekodan JSON menukar struktur data dalam Golang kepada format JSON, manakala penyahkodan JSON menukar data dalam format JSON kepada struktur data di Golang. Format JSON mempunyai peraturan asas berikut:
- Data JSON mestilah dalam bentuk pasangan nilai kunci.
- Data dipisahkan dengan koma dan mesti disertakan dengan kurungan kerinting {} atau kurungan segi empat sama [].
- Kunci mesti disertakan dalam petikan berganda "", dan nilai boleh berupa rentetan, nombor, boolean, tatasusunan atau objek.
Sekarang, mari kita mula memproses format JSON menggunakan Golang. Mula-mula, kita perlu menggunakan kaedah berikut untuk pengekodan JSON:
func Marshal(v interface{}) ([]byte, error)
Fungsi ini menukar struktur data jenis antara muka kepada hirisan []bait dalam format JSON. Dalam fungsi ini, kita boleh menghantar mana-mana struktur data Golang sebagai parameter dan menukarnya kepada data berformat JSON. Berikut ialah kod sampel:
package main import ( "encoding/json" "fmt" ) type User struct { Name string `json:"name"` Age int `json:"age"` } func main() { user := User{Name: "zhangsan", Age: 20} userJson, err := json.Marshal(user) if err != nil { fmt.Println("error:", err) } fmt.Println(string(userJson)) }
Dalam kod sampel ini, kami mentakrifkan struktur jenis Pengguna, yang merangkumi dua medan: nama dan umur. Kami membuat instantiate objek pengguna dan kemudian mengekod struktur ke dalam format JSON dengan memanggil fungsi json.Marshal. Akhir sekali, kami mencetak rentetan JSON dengan menukar userJson kepada jenis rentetan.
Seterusnya, kami akan meneroka cara menggunakan penyahkodan JSON untuk menukar data berformat JSON kepada jenis data Golang. Di Golang, kita boleh menggunakan kaedah berikut untuk penyahkodan JSON:
func Unmarshal(data []byte, v interface{}) error
Fungsi ini menukar data format JSON kepada jenis data Golang dan menyimpannya dalam pembolehubah jenis antara muka. Dalam fungsi ini, kita perlu lulus dua parameter: data format JSON dan pembolehubah jenis antara muka, yang akan digunakan untuk menyimpan jenis data Golang yang dinyahkod. Berikut ialah kod sampel:
package main import ( "encoding/json" "fmt" ) type User struct { Name string `json:"name"` Age int `json:"age"` } func main() { userJson := []byte(`{"name":"zhangsan","age":20}`) var user User err := json.Unmarshal(userJson, &user) if err != nil { fmt.Println("error:", err) } fmt.Println(user.Name, user.Age) }
Dalam kod sampel ini, kami mentakrifkan struktur jenis Pengguna dan menggunakan fungsi Unmarshal untuk menukar data format JSON kepada jenis data Golang dan menyimpannya dalam pembolehubah pengguna . Dengan mencetak medan Nama dan Umur pengguna, kami boleh menyemak sama ada data yang dinyahkod adalah betul.
Akhir sekali, mari kita lihat cara mengendalikan jenis data bersarang dalam JSON di Golang. Dalam JSON, kita boleh menyarangkan objek pada sebarang kedalaman. Berikut ialah kod sampel:
package main import ( "encoding/json" "fmt" ) type Address struct { Street string `json:"street"` City string `json:"city"` } type User struct { Name string `json:"name"` Age int `json:"age"` Address Address `json:"address"` } func main() { userJson := []byte(`{ "name":"zhangsan", "age":20, "address":{ "street":"Shanghai Street", "city":"Shanghai" } }`) var user User err := json.Unmarshal(userJson, &user) if err != nil { fmt.Println("error:", err) } fmt.Println(user.Name, user.Age, user.Address.Street, user.Address.City) }
Dalam kod sampel ini, kami mentakrifkan struktur jenis Pengguna, yang mengandungi nama, umur dan struktur jenis Alamat bersarang. Kami mentakrifkan rentetan JSON sebagai input dan menggunakan fungsi json.Unmarshal untuk menyahkodnya ke dalam jenis data Golang. Kami boleh mengakses data dalam struktur bersarang melalui user.Address.Street dan user.Address.City.
Ringkasnya, Golang sangat mudah apabila memproses data dalam format JSON Ia mempunyai sokongan terbina dalam untuk pengekodan dan penyahkodan JSON, serta menyediakan banyak kaedah dan fungsi yang berguna. Dengan memahami prinsip asas JSON di Golang, kami boleh menggunakan format data JSON dengan mudah dalam aplikasi kami.
Atas ialah kandungan terperinci Cara golang mengendalikan format JSON. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



OpenSSL, sebagai perpustakaan sumber terbuka yang digunakan secara meluas dalam komunikasi yang selamat, menyediakan algoritma penyulitan, kunci dan fungsi pengurusan sijil. Walau bagaimanapun, terdapat beberapa kelemahan keselamatan yang diketahui dalam versi sejarahnya, yang sebahagiannya sangat berbahaya. Artikel ini akan memberi tumpuan kepada kelemahan umum dan langkah -langkah tindak balas untuk OpenSSL dalam sistem Debian. Debianopenssl yang dikenal pasti: OpenSSL telah mengalami beberapa kelemahan yang serius, seperti: Kerentanan Pendarahan Jantung (CVE-2014-0160): Kelemahan ini mempengaruhi OpenSSL 1.0.1 hingga 1.0.1f dan 1.0.2 hingga 1.0.2 versi beta. Penyerang boleh menggunakan kelemahan ini untuk maklumat sensitif baca yang tidak dibenarkan di pelayan, termasuk kunci penyulitan, dll.

Artikel ini menerangkan cara menggunakan alat PPROF untuk menganalisis prestasi GO, termasuk membolehkan profil, mengumpul data, dan mengenal pasti kesesakan biasa seperti CPU dan isu memori.

Artikel ini membincangkan ujian unit menulis di GO, meliputi amalan terbaik, teknik mengejek, dan alat untuk pengurusan ujian yang cekap.

Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Masalah Threading Giliran di GO Crawler Colly meneroka masalah menggunakan Perpustakaan Colly Crawler dalam bahasa Go, pemaju sering menghadapi masalah dengan benang dan permintaan beratur. � ...

Artikel ini membincangkan menggunakan ujian yang didorong oleh jadual di GO, satu kaedah yang menggunakan jadual kes ujian untuk menguji fungsi dengan pelbagai input dan hasil. Ia menyoroti faedah seperti kebolehbacaan yang lebih baik, penurunan duplikasi, skalabiliti, konsistensi, dan a

Artikel ini membincangkan menguruskan kebergantungan modul Go melalui Go.Mod, meliputi spesifikasi, kemas kini, dan resolusi konflik. Ia menekankan amalan terbaik seperti versi semantik dan kemas kini biasa.

Artikel ini membincangkan pakej GO's Reflect, yang digunakan untuk manipulasi kod runtime, bermanfaat untuk siri, pengaturcaraan generik, dan banyak lagi. Ia memberi amaran tentang kos prestasi seperti pelaksanaan yang lebih perlahan dan penggunaan memori yang lebih tinggi, menasihati penggunaan yang bijak dan terbaik
