Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat teknologi termaju seperti pengkomputeran awan, data besar dan kecerdasan buatan, bahasa pengaturcaraan komputer juga telah dipertingkatkan dan dikemas kini secara berterusan. Sebagai bahasa pengaturcaraan yang dibangunkan oleh Google, bahasa Go (Golang) telah mendapat perhatian dan aplikasi yang semakin meluas kerana kesederhanaan, kebolehbacaan, kecekapan dan keupayaannya untuk menggunakan sepenuhnya CPU berbilang teras. Dalam bahasa Go, memproses data Json adalah tugas yang sangat biasa. Jadi, bagaimana untuk menukar Json dalam bahasa Go? Jawapan terperinci akan diberikan di bawah.
Pertama sekali, anda perlu memahami pustaka pemprosesan JSON dalam golang Ia menyediakan dua kaedah, pengekodan dan penyahkod, yang digunakan untuk melengkapkan pengekodan dan penyahkodan data Json masing-masing master ialah penggunaan kaedah penyahkod.
Dalam perpustakaan standard golang encoding/json
, fungsi yang dipanggil Unmarshal()
disediakan Prototaip fungsi adalah seperti berikut
func Unmarshal(data []byte, v interface{}) error
Penerangan parameter:
data []byte
: Data JSON untuk dinyahkodkan; v interface{}
: Gunakan nama pembolehubah ahli dalam jenis struktur untuk memetakan kunci dalam JSON untuk menyambungkan data JSON struktur. Badan diproses khas dengan memberikan kunci tertentu dalam JSON; pelanggan dengan Pelanggan menyediakan data JSON, yang mengandungi pasangan nilai kunci rentetan . Sekarang kita perlu menyahkod data JSON ini dan menyimpannya dalam pembolehubah struktur.
Struktur definisi adalah seperti berikut: "name":"Wade"
"age":33
"score":98.5
Nyahkod data JSON dalam fungsi main(), yang boleh dilengkapkan dengan satu baris kod:
type Player struct { Name string `json:"name"` Age int `json:"age"` Score float64 `json:"score"` }
func main() { jsonStr := `{"name":"Wade","age":33,"score":98.5}` var player Player json.Unmarshal([]byte(jsonStr), &player) fmt.Println(player) // 输出:{Wade 33 98.5} }
jsonStr
var player Player
Player
json.Unmarshal()
player
fmt.Println(player)
Selain itu, jika kita mempunyai struktur yang mengandungi berbilang kejadian jenis Pemain, kita boleh mengendalikannya seperti berikut: Player
type Team struct { ID int `json:"id"` Name string `json:"name"` Members []Player `json:"members"` } func main() { jsonStr := `{"id":1,"name":"Lakers","members":[{"name":"Wade","age":33,"score":98.5},{"name":"James","age":36,"score":100}]}` var team Team json.Unmarshal([]byte(jsonStr), &team) fmt.Printf("%+v\n", team) }
Melalui artikel ini, kami telah mempelajari cara menggunakan pustaka penyahkodan JSON untuk melengkapkan penukaran Json dalam bahasa Go. Kami juga menggunakan kod sampel untuk menunjukkan proses operasi yang terperinci. Ini adalah fungsi yang sangat asas dan biasa digunakan Dalam pengaturcaraan sebenar, kita sering menghadapi dan menggunakan situasi ini. Menguasai operasi asas ini akan sangat membantu kami dalam menyelesaikan kerja pengaturcaraan dengan lebih cekap.
Atas ialah kandungan terperinci Penjelasan terperinci tentang cara melakukan penukaran Json dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!