ホームページ >バックエンド開発 >Golang >Go で int64 JSON データを解析するときに Null 値を処理する方法は?

Go で int64 JSON データを解析するときに Null 値を処理する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-30 15:38:14120ブラウズ

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

Go での int64 の JSON 解析: Null 値の処理

Go では、int64 型の整数値を含む JSON データを解析すると、次のような場合に課題が生じることがあります。 null 値が発生しました。 null 値が発生すると、デフォルトの JSON パッケージは、null を int64 にアンマーシャリングできないため、エラーをスローします。

JSON 解析用の Nullable int64 型

これを克服するには制限があるため、null 許容の int64 型が必要です。 null 許容の int64 では、nil 値または有効な int64 値のいずれかを使用できます。 Go でポインターを使用することで、次の機能を実現します。

type NullableInt64 *int64

型のポインターを使用する場合、nil または int64 値を参照できます。

実装

null 許容 int64 型を以前の型に組み込む例:

package main

import (
    "encoding/json"
    "fmt"
)

var d = []byte(`{ "world":[{"data": 2251799813685312}, {"data": null}]}`)

type jsonobj struct{ World []World }
type World struct{ Data *int64 } // Using *int64 for nullable int64

func main() {
    var data jsonobj
    jerr := json.Unmarshal(d, &data)
    fmt.Println(jerr)
}

この変更により、JSON パーサーはエラーが発生することなく、「データ」フィールドの null 値を正常に処理できるようになります。

以上がGo で int64 JSON データを解析するときに Null 値を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。