JSON Penghuraian int64 dalam Go: Mengendalikan Nilai Null
Dalam Go, menghuraikan data JSON yang mengandungi nilai integer jenis int64 boleh memberikan cabaran apabila menghadapi nilai nol. Apabila menemui nilai null, pakej JSON lalai melemparkan ralat kerana ketidakupayaan untuk menyahmarshal null ke dalam int64.
Nullable int64 Type untuk JSON Parsing
Untuk mengatasi ini had, jenis int64 yang boleh dibatalkan diperlukan. Int64 yang boleh dibatalkan membenarkan sama ada nilai nil atau nilai int64 yang sah. Dengan menggunakan penuding dalam Go, kami mencapai kefungsian ini:
type NullableInt64 *int64
Apabila menggunakan penuding untuk jenis, ia boleh sama ada nil atau merujuk nilai int64.
Pelaksanaan
Memasukkan jenis int64 nullable ke dalam jenis yang lebih awal contoh:
package main import ( "encoding/json" "fmt" ) var d = []byte(`{ "world":[{"data": 2251799813685312}, {"data": null}]}`) type jsonobj struct{ World []World } type World struct{ Data *int64 } // Using *int64 for nullable int64 func main() { var data jsonobj jerr := json.Unmarshal(d, &data) fmt.Println(jerr) }
Pengubahsuaian ini membolehkan penghurai JSON berjaya mengendalikan nilai nol dalam medan "data" tanpa menghadapi ralat.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Nilai Null Apabila Menghuraikan Data JSON int64 dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!