разбор json int64 в go; нулевые значения

Я пытаюсь проанализировать 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

Я нашел обнуляемый int64 в sql-пакете] , но json, похоже, не может с этим справиться.

Есть ли тип int64, допускающий значение null, который может обрабатывать json? Если возможно, я был бы доволен переводом json null, -1 или MinValue.

Спасибо за ваш вклад, Фабиан

7
задан kazamatzuri 12 June 2012 в 13:58
поделиться