Pertimbangkan fail JSON yang mengandungi tatasusunan:
[ {"a" : "1"}, {"b" : "2"}, {"c" : "3"} ]
Walaupun cuba menghuraikannya sebagai peta rentetan ke rentetan, ralat timbul:
json: cannot unmarshal array into Go value of type main.data
Untuk menyelesaikan masalah ini, kami memerlukan struktur Go yang mencerminkan format tatasusunan JSON.
Pendekatan yang betul boleh didapati di sini: https://play.golang.org /p/8nkpAbRzAD
type mytype []map[string]string func main() { var data mytype file, err := ioutil.ReadFile("test.json") if err != nil { log.Fatal(err) } err = json.Unmarshal(file, &data) if err != nil { log.Fatal(err) } fmt.Println(data) }
Takrifan ini mengisytiharkan mytype sebagai kepingan peta, sejajar dengan struktur tatasusunan JSON. Ia membenarkan penghuraian dan perwakilan yang betul bagi data JSON dalam struct Go.
Atas ialah kandungan terperinci Bagaimana untuk Mewakili Tatasusunan JSON dengan Kekunci Dinamik dalam Go Struct?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!