Dalam bahasa Go, adalah perkara biasa untuk menggunakan JSON (JavaScript Object Notation). JSON ialah format pertukaran data ringan yang digunakan secara meluas dalam aplikasi moden kerana ia mudah dibaca, ditulis dan dihuraikan. Apabila memproses data JSON, kita perlu memberi perhatian kepada beberapa perangkap.
Salah satu masalah ialah apabila berurusan dengan rentetan JSON, kita perlu melarikan diri. Contohnya, jika rentetan JSON mengandungi aksara khas (seperti petikan berganda, garis miring ke belakang, dsb.), ia mesti dilepaskan untuk dihuraikan dengan betul. Jika tidak, ralat penghuraian atau isu keselamatan mungkin berlaku.
Dalam bahasa Go, kita boleh menggunakan dua fungsi json.Marshal
dan json.Unmarshal
untuk mengekod dan menyahkod data JSON. Go akan secara automatik melepaskan rentetan JSON apabila pengekodan. Sebagai contoh, kod berikut menunjukkan cara menukar rentetan JSON yang mengandungi aksara khas kepada objek JSON dalam Go:
package main import ( "encoding/json" "fmt" ) func main() { jsonString := `{"name":"Alan","age":30,"info":"hello \"world\""}` data := make(map[string]interface{}) err := json.Unmarshal([]byte(jsonString), &data) if err != nil { fmt.Println("Unmarshal error:", err) return } fmt.Println("Name:", data["name"]) fmt.Println("Age:", data["age"]) fmt.Println("Info:", data["info"]) }
Dalam kod di atas, kami mentakrifkan rentetan JSON yang mengandungi rentetan aksara khas dan menyahkodnya menjadi peta Pergi. Apabila kami mencetak nilai dalam peta Go, kami akan mendapati rentetan yang mengandungi aksara khas telah dilepaskan dengan betul.
Selain melakukan pelarian yang diperlukan semasa pengekodan dan penyahkodan, kami juga perlu memberi perhatian kepada keselamatan data JSON. Sebagai contoh, data JSON yang dimasukkan oleh pengguna mungkin mengandungi kod hasad dan kami perlu memastikan bahawa tiada akibat yang tidak diingini semasa menghuraikannya.
Untuk memastikan keselamatan data JSON, kami perlu menggunakan beberapa alatan untuk mengesahkan integriti data JSON dan hanya menggunakan pustaka JSON yang dipercayai untuk menghuraikan data. Selain itu, kami perlu mengehadkan saiz dan kerumitan data JSON untuk menghalang penyerang daripada mengeksploitasinya untuk penafian serangan perkhidmatan atau kelemahan keselamatan yang lain.
Ringkasnya, semasa memproses data JSON, kita perlu memberi perhatian kepada pelarian dan keselamatan. Menggunakan fungsi pengekodan dan penyahkodan JSON yang disediakan oleh Go boleh memudahkan kerja kami dan memberi perhatian kepada beberapa amalan keselamatan asas boleh membantu kami mengelakkan kemungkinan ancaman keselamatan.
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan JSON kepada objek JSON dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!