登录
首页 >  Golang >  Go问答

go中int64的json解析;空值

来源:Golang技术栈

时间:2023-04-15 07:28:36 414浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《go中int64的json解析;空值》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

我正在尝试在 Go 中解析一个 json 流。我创建了一个简化的示例:

 package main
 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)
 }

这会给我

go run testmin.go
json: cannot unmarshal null into Go value of type int64

我在sql 包中找到了一个可为空的 int64 ,但 json 似乎无法处理它。

是否有 json 可以处理的可为空的 int64 类型? 如果可能的话,我会对将 json null 转换为 -1 或 MinValue感到满意。

谢谢你的意见,法比安

正确答案

只需使用*int64. 指针可以为 nil,也可以指向具有关联值的 int64,并且它们可以与 Go 的 JSON 包一起正常工作。

以上就是《go中int64的json解析;空值》的详细内容,更多关于golang的资料请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>