Mengalih Keluar atau Menyembunyikan Medan dalam JSON Response with Dynamic Selection
Masalahnya melibatkan API yang menjana respons JSON berasaskan struct. Cabarannya ialah untuk memilih medan secara dinamik untuk dikembalikan berdasarkan parameter pertanyaan "medan". Malangnya, mengalih keluar medan daripada struct tidak boleh dilaksanakan dan menyembunyikannya dengan teg json:"omitempty" tidak akan mencukupi apabila nilai kosong hadir.
Penyelesaian Alternatif: Menggunakan Peta
Untuk menangani perkara ini, pertimbangkan untuk menggunakan peta[rentetan]antara muka{} dan bukannya struct. Ini membolehkan pemilihan medan dinamik dan pengalihan keluar:
type SearchResultsMap map[string]interface{} // Populate the map with data searchResultsMap := make(SearchResultsMap) searchResultsMap["Date"] = "2023-03-08" searchResultsMap["Company"] = "Acme Corp" searchResultsMap["Country"] = "USA" // Remove unwanted fields delete(searchResultsMap, "IdCompany") delete(searchResultsMap, "Industry") // Encode and output the response err := json.NewEncoder(c.ResponseWriter).Encode(&searchResultsMap)
Dengan menggunakan peta, anda memperoleh fleksibiliti untuk menyertakan atau mengecualikan medan secara selektif berdasarkan parameter pertanyaan yang ditentukan. Selain itu, anda boleh memanipulasi peta dengan mudah untuk memenuhi keperluan pemilihan medan dinamik anda.
Atas ialah kandungan terperinci Bagaimana untuk Memilih dan Mengalih Keluar Medan JSON secara Dinamik dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!