editor php Xinyi akan menerangkan kepada anda mengapa medan struktur dipaparkan sebagai kosong. Dalam pengaturcaraan, struktur ialah jenis data tersuai yang digunakan untuk menyimpan pelbagai jenis data. Apabila medan struktur kelihatan kosong, ini mungkin kerana struktur tidak dimulakan dengan betul atau nilai tidak diberikan kepada medan. Selain itu, ia juga mungkin disebabkan oleh isu skop medan atau ralat definisi struktur. Untuk menyelesaikan masalah ini, anda boleh menyemak bahagian permulaan kod untuk memastikan bahawa medan diberikan dengan betul. Pada masa yang sama, semak definisi dan skop struktur untuk memastikan ia boleh mengakses nilai medan dengan betul.
Saya cuba mendapatkan output yang betul daripada kod berikut:
package main import ( "encoding/json" "fmt" ) func main() { var jsonBlob3 = []byte(`[ {"name": "Platypus", "spec": "Monotremata", "id":25 }, {"name": "Quoll", "spec": "Dasyuromorphia", "id":25 } ]`) type Animal2 struct { name string spec string id uint32 } var animals []Animal2 err := json.Unmarshal(jsonBlob3, &animals) if err != nil { fmt.Println("error:", err) } fmt.Printf("%+v\n", animals) }
Klip taman permainan
Medan struktur kosong semasa mencetak. Saya pasti terdapat pepijat bodoh di suatu tempat, tetapi saya masih baru menggunakan Go dan saya telah terperangkap dalam masalah ini selama beberapa jam. Tolong bantu.
Masalah ni dah banyak kali muncul. Masalahnya ialah hanya medan yang dieksport boleh dimarshaled/unmarshaled.
Eksport medan struktur bermula dengan huruf besar.
type Animal2 struct { Name string Spec string Id uint32 }
Cubalah di Go Playground.
Perhatikan bahawa teks JSON mengandungi nama medan dalam teks huruf kecil, tetapi json
包“聪明”足以匹配它们。如果它们完全不同,您可以使用 struct 标签告诉 json
bagaimana pakej mencarinya (atau cara menyusunnya) dalam teks JSON, contohnya:
type Animal2 struct { Name string `json:"json_name"` Spec string `json:"specification"` Id uint32 `json:"some_custom_id"` }
Atas ialah kandungan terperinci Mengapa medan struktur kelihatan kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!