разбор JSON int64 в go; значения null
Я пытаюсь проанализировать поток json в Go. Я создал упрощенный пример:
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
Я нашел nullable int64 в пакет sql, но json, похоже, не в состоянии справиться с этим.
есть ли тип int64 с нулевым значением, который может обрабатывать json? Если возможно, я был бы доволен json null переводится на, -1 или MinValue.
Спасибо за вход, Фабиан!--3-->
1 ответов
просто использовать *int64
. Указатель может быть нулевым или указывать на int64 со связанным значением, и они отлично работают с пакетом JSON Go.