首頁 >後端開發 >Golang >在 Go 中解析 JSON 時如何處理 Null int64 值?

在 Go 中解析 JSON 時如何處理 Null int64 值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-30 10:03:11998瀏覽

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

Go 中解析包含 int64 空值的 JSON

解析包含 int64 值的 JSON 資料時,可能會遇到空值。預設情況下,Go 編碼/json 套件嘗試將 null 值直接解組到 int64 字段,從而導致錯誤,因為它無法將 null 轉換為 int64。

要解決此問題,請考慮使用指標而不是直接 int64 欄位。指標可以是 nil,也可以指向具有關聯值的 int64。以下是範例:

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)
    if data.World[1].Data != nil {
        fmt.Println(*data.World[1].Data)
    }
}

透過使用指針,如果 JSON 值為 null,則 World 結構中的資料欄位可以為 nil,否則指向 int64 值。這使我們能夠優雅地處理空值而不會出現錯誤。

以上是在 Go 中解析 JSON 時如何處理 Null int64 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn