Dalam Python, adalah mudah untuk mengekstrak nilai tunggal daripada objek JSON tanpa mentakrifkan struct. Go, sebaliknya, memerlukan pengisytiharan struct untuk mewakili struktur JSON yang dijangkakan. Walau bagaimanapun, pendekatan ini mungkin kelihatan menyusahkan untuk mendapatkan hanya nilai tertentu.
Daripada mencipta struct khusus, anda boleh memanfaatkan pakej json standard untuk menyahkod JSON ke dalam peta[ rentetan]antara muka{}. Ini membolehkan anda mengakses nilai melalui kunci:
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") } }
Peta memberikan kefleksibelan kerana ia membolehkan anda:
Struktur kekal berguna untuk:
Keputusan antara peta dan struct bergantung pada keperluan khusus permohonan anda. Jika anda mengutamakan kesederhanaan dan fleksibiliti, peta mungkin merupakan pilihan yang lebih baik. Jika keselamatan jenis dan perwakilan data eksplisit adalah penting, struct disyorkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Nilai Tunggal dengan Cekap daripada JSON dalam Go Tanpa Menentukan Struktur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!