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

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

Linda Hamilton
リリース: 2024-11-28 14:56:11
オリジナル
258 人が閲覧しました

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

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

Go で JSON ストリームを解析する場合、特に Null 値の処理が課題になることがあります。 int64 型を扱う場合。示されている例に示されているように、null 値を含む JSON オブジェクトを int64 型の struct フィールドにアンマーシャリングしようとすると、型の不一致によりエラーが発生します。

アドレス Null へのポインターの使用値

この問題に対する簡単な解決策は、int64 へのポインターを使用することです。ポインタは、null 値を表す nil にすることも、関連する値を持つ有効な int64 インスタンスを指すこともできます。このアプローチは Go の JSON パッケージでサポートされています。

type World struct {
    Data *int64
}
ログイン後にコピー

int64 へのポインターを使用するように上記の構造体定義を変更することで、以前のエラーが発生することなく JSON データを正常にアンマーシャリングできるようになりました。 *int64 を使用すると、JSON パーサーは null 値を nil ポインターとして表すことができます。

null を Null 以外の値にマッピングする

必要に応じて、null 値を次の値にマッピングできます。 -1 や MinValue などの null 以外の値。これは、アンマーシャリング後に JSON データをカスタム処理することで実現できます。例:

func MapNull(data *int64) int64 {
    if data == nil {
        return -1
    }
    return *data
}
ログイン後にコピー

アンマーシャリング後に MapNull 関数を呼び出すと、null 値を目的の非 null 表現に置き換えることができます。

結論

Go で int64 型を含む JSON データを解析するときに null 値を処理するには、へのポインターを使用することで実現できます。 int64。この手法により、JSON パーサーは null 値を表現し、元のデータ構造を保持できるようになります。必要に応じて、カスタムの後処理を適用して、null 値を代替の非 null 表現にマップできます。

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート