Menggunakan Unmarshal dengan Struktur Tertakrif
Masalah:
Bagaimana untuk menghuraikan tatasusunan JSON kompleks yang mengandungi objek ke dalam format berstruktur dalam Go?
Contoh JSON:
[{"id":694476444991229955,"id_str":"694476444991229955"}]
Penyelesaian:
Tentukan struct Go untuk memodelkan data JSON.
type Tweet struct { ID int64 `json:"id"` IDStr string `json:"id_str"` }
Buat sekeping struct tweet untuk menahan yang dihuraikan hasil.
tweets := make([]Tweet, 0)
Nyahmarshal tatasusunan JSON ke dalam kepingan tweet.
err := json.Unmarshal([]byte(jsonString), &tweets) if err != nil { fmt.Println(err) }
Lelar atas kepingan tweet untuk mengakses bahagian yang dihuraikan data.
for _, tweet := range tweets { fmt.Println(tweet.ID, tweet.IDStr) }
Menyahmarshaling ke dalam kepingan Peta[rentetan]antaramuka{}
Nota: Kaedah ini memerlukan pengindeksan dan taip penegasan untuk mengakses nilai.
Buat sekeping peta untuk menyimpan hasil yang dihuraikan.
tweets := make([]map[string]interface{}, 0)
Unmarshal the JSON tatasusunan ke dalam kepingan peta.
err := json.Unmarshal([]byte(jsonString), &tweets) if err != nil { fmt.Println(err) }
Lelaran di atas kepingan peta untuk mengakses data yang dihuraikan.
for _, tweet := range tweets { id, ok := tweet["id"].(int64) if ok { fmt.Println("ID:", id) } }
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Tatasusunan JSON ke dalam Data Berstruktur dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!