Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyahkod JSON dengan Struktur Tidak Diketahui dalam Go?
Menyahkod JSON dengan Struktur Tidak Diketahui
Dalam bidang pengaturcaraan, JSON (JavaScript Object Notation) selalunya berfungsi sebagai alat untuk mewakili data dalam aplikasi perisian. Walau bagaimanapun, apabila menghadapi JSON dengan struktur yang tidak dikenali, mengekstrak maklumat tertentu boleh menimbulkan cabaran. Pertimbangkan senario berikut:
Anda perlu memproses rentetan JSON seperti ini:
{ "votes": { "option_A": "3" } }
Matlamat anda adalah untuk menambah JSON ini dengan memasukkan kunci "kira", menghasilkan output berikut :
{ "votes": { "option_A": "3" }, "count": "1" }
Cabaran timbul daripada struktur JSON awal yang tidak diketahui. Kaedah tradisional, seperti menggunakan fungsi json.Unmarshal dengan struct ditaip khusus, menjadi tidak boleh digunakan.
Penyelesaian: Unmarshal into a Map
Untuk mengatasi halangan ini, kami boleh memanfaatkan fleksibiliti peta Go. Coretan kod berikut menunjukkan cara untuk menyahmarshal JSON ke dalam peta[rentetan]antara muka{}:
package main import ( "encoding/json" "fmt" ) func main() { in := []byte(`{ "votes": { "option_A": "3" } }`) var raw map[string]interface{} if err := json.Unmarshal(in, &raw); err != nil { panic(err) } // Modify the map by adding the "count" key raw["count"] = 1 // Marshal the modified map back to JSON out, err := json.Marshal(raw) if err != nil { panic(err) } fmt.Println(string(out)) }
Dengan menyahmarshal JSON ke dalam peta, kami mencipta struktur data jenis-agnostik dengan berkesan yang boleh menampung sebarang input . Ia membolehkan kami mengakses dan mengubah suai kandungan JSON secara dinamik tanpa bergantung pada jenis yang dipratentukan.
Output akhir kod di atas adalah seperti berikut:
{ "votes": { "option_A": "3" }, "count": "1" }
Pendekatan ini menyediakan kemudahan dan fleksibel penyelesaian untuk menyahkod JSON dengan struktur yang tidak diketahui, memperkasakan pembangun untuk mengekstrak dan memanipulasi data dengan cekap.
Atas ialah kandungan terperinci Bagaimana untuk Menyahkod JSON dengan Struktur Tidak Diketahui dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!