Go 中解析包含 int64 空值的 JSON
解析包含 int64 值的 JSON 資料時,可能會遇到空值。預設情況下,Go 編碼/json 套件嘗試將 null 值直接解組到 int64 字段,從而導致錯誤,因為它無法將 null 轉換為 int64。
要解決此問題,請考慮使用指標而不是直接 int64 欄位。指標可以是 nil,也可以指向具有關聯值的 int64。以下是範例:
import ( "encoding/json" "fmt" ) var d = []byte(`{ "world":[{"data": 2251799813685312}, {"data": null}]}`) type jsonobj struct{ World []World } type World struct{ Data *int64 } func main() { var data jsonobj jerr := json.Unmarshal(d, &data) fmt.Println(jerr) if data.World[1].Data != nil { fmt.Println(*data.World[1].Data) } }
透過使用指針,如果 JSON 值為 null,則 World 結構中的資料欄位可以為 nil,否則指向 int64 值。這使我們能夠優雅地處理空值而不會出現錯誤。
以上是在 Go 中解析 JSON 時如何處理 Null int64 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!