Go 中 int64 的 JSON 解析:处理空值
在 Go 中,解析包含 int64 类型整数值的 JSON 数据可能会带来挑战遇到空值。当遇到 null 值时,默认的 JSON 包会抛出错误,因为无法将 null 解组为 int64。
用于 JSON 解析的 Nullable int64 类型
克服这个问题限制,可以为 null 的 int64 类型是必要的。可空 int64 允许 nil 值或有效的 int64 值。通过在 Go 中使用指针,我们实现了以下功能:
type NullableInt64 *int64
当使用类型指针时,它可以是 nil 或引用 int64 值。
实现
将可为 null 的 int64 类型合并到早期版本中示例:
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) }
此修改允许 JSON 解析器成功处理“数据”字段中的空值,而不会遇到错误。
以上是在 Go 中解析 int64 JSON 数据时如何处理空值?的详细内容。更多信息请关注PHP中文网其他相关文章!