Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyahmarshal Data JSON dengan Kunci dan Nilai Tidak Diketahui dalam Go?
Apabila bekerja dengan muatan JSON, mungkin sukar untuk mengendalikan data dengan format yang tidak diketahui. Keadaan ini timbul apabila kunci dan nilai dalam struktur JSON tidak dipratakrifkan. Untuk menangani perkara ini, Go menawarkan beberapa pendekatan untuk membongkar format yang tidak diketahui.
Dalam data JSON yang disediakan, kunci mewakili mata pelajaran dan nilainya ialah tatasusunan gred pelajar. Untuk membongkar data ini dengan berkesan, kami boleh menggunakan teknik berikut:
Pilihan 1: Menggunakan antara muka[rentetan]peta{}
Jika kunci tidak diketahui sepenuhnya, anda boleh menggunakan peta[rentetan]antara muka{} untuk menyahmarshal muatan JSON. Kaedah ini mencipta peta dengan kekuncinya adalah rentetan dan nilainya ialah antara muka yang mewakili data yang belum tersusun.
var grades map[string]interface{} err := json.Unmarshal([]byte(jsonString), &grades)
Pilihan 2: Menggunakan Struktur Tersuai
Jika anda mempunyai struktur khusus yang anda mahu mewakili data, anda boleh membuat struct tersuai dan mengabaikan kunci yang tidak diketahui semasa unmarshaling menggunakan json:"-" tag. Medan Gred dalam struct GradeData akan mengandungi data yang tidak dimarshalkan sebagai peta[rentetan] antara muka{}.
type GradeData struct { Grades map[string]interface{} `json:"-"` } gradesData := GradeData{} err := json.Unmarshal([]byte(jsonString), &gradesData.Grades)
Dengan menggunakan salah satu pendekatan ini, anda boleh menyahmarshal data JSON dengan format yang tidak diketahui dengan berkesan dan mengakses data dalam Go. Adalah penting untuk memilih kaedah yang paling sesuai dengan keperluan permohonan anda.
Atas ialah kandungan terperinci Bagaimana untuk Menyahmarshal Data JSON dengan Kunci dan Nilai Tidak Diketahui dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!