我正在尝试在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包中发现了一个可为null的int64 ,但是json似乎无法处理它。
json是否可以处理可为null的int64类型?如果可能的话,我会对将JSON null 转换为-1或MinValue 感到满意。
谢谢您的投入,Fabian
只需使用一个*int64。指针可以为nil,也可以指向具有关联值的int64,并且它们可以与Go的JSON包一起正常工作。
*int64