首页 >后端开发 >Golang >在 Go 中解析 int64 JSON 数据时如何处理空值?

在 Go 中解析 int64 JSON 数据时如何处理空值?

Patricia Arquette
Patricia Arquette原创
2024-11-30 15:38:14121浏览

How to Handle Null Values When Parsing int64 JSON Data in Go?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn