JSON Penghuraian Nilai Tunggal dalam Go
Menghuraikan data JSON ialah tugas biasa dalam pengaturcaraan. Dalam Python, mendapatkan nilai khusus daripada objek JSON adalah mudah tanpa memerlukan struktur data yang kompleks. Walau bagaimanapun, dalam Go, menggunakan struct untuk mengendalikan data JSON adalah lebih biasa.
Pendekatan Go:
Dalam Go, secara tradisinya struct diisytiharkan sepadan dengan objek JSON, dan fungsi json.Unmarshal digunakan untuk menyahmarshal JSON ke dalam struct. Walau bagaimanapun, pendekatan ini boleh menjadi kasar dan menyusahkan, terutamanya apabila hanya berminat dengan nilai tertentu.
Pendekatan Alternatif:
Untuk memudahkan penghuraian JSON dalam Go, pertimbangkan alternatif berikut pendekatan:
Nyahkod JSON ke dalam peta[rentetan]antara muka{}, yang memetakan kunci JSON ke nilai yang sepadan sebagai antara muka{}.
Gunakan operator [] untuk mengakses nilai yang dikaitkan dengan kunci JSON yang diingini.
Jika nilai itu bukan jenis yang dijangkakan, gunakan penegasan jenis untuk kendalikannya dengan sewajarnya.
Contoh:
Berikut ialah contoh Go yang menunjukkan perkara ini pendekatan:
import ( "encoding/json" "fmt" ) func main() { b := []byte(`{"ask_price":"1.0"}`) data := make(map[string]interface{}) err := json.Unmarshal(b, &data) if err != nil { panic(err) } if price, ok := data["ask_price"].(string); ok { fmt.Println(price) } else { panic("wrong type") } }
Contoh ini menyahmarshal JSON ke dalam peta dan kemudian mengekstrak nilai "ask_price", iaitu jenis yang ditegaskan pada rentetan sebelum mencetak.
Nota:
Struktur masih boleh digunakan untuk penghuraian JSON dalam Go, tetapi ia lebih jelas dan mungkin tidak diperlukan jika hanya beberapa nilai khusus diperlukan daripada JSON. Pendekatan alternatif menggunakan peta menyediakan cara yang lebih ringkas dan fleksibel untuk mengendalikan data JSON.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan Nilai Tunggal dengan Cekap daripada JSON dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!