ホームページ >バックエンド開発 >Golang >Go で JSON を解析するときにデフォルト値を指定するにはどうすればよいですか?

Go で JSON を解析するときにデフォルト値を指定するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-10 16:24:14332ブラウズ

How to Specify Default Values When Parsing JSON in Go?

Go を使用した JSON 解析のデフォルト値の指定

JSON データを Go 構造体に解析する場合、多くの場合、次のデフォルト値を指定することが望ましいです。 JSON には存在しないフィールド。組み込みのエンコーディング/json パッケージは、これを実現する簡単なメカニズムを提供します。

json.Unmarshal を呼び出すとき、空の構造体を提供する代わりに、デフォルト値を含む構造体を提供できます。 JSON に存在しないフィールドは、アンマーシャリング後もデフォルト値を保持します。

たとえば、次の構造体について考えてみましょう。

type Test struct {
    A string
    B string
    C string
}

デフォルト値が "a"、"b"、および「c」はそれぞれ A、B、C を表します。以下の JSON を解析すると、指定されたデフォルトの構造体が返されます。値:

{"A": "1", "C": "3"}
var example []byte = []byte(`{"A": "1", "C": "3"}`)

out := Test{
    A: "default a",
    B: "default b",
    // default for C will be "", the empty value for a string
}
err := json.Unmarshal(example, &out)
if err != nil {
    panic(err)
}
fmt.Printf("%+v", out)

このコードは次のように出力します:

{A:1 B:default b C:3}

示されているように、json.Unmarshal は、未指定のフィールドをデフォルト値のままにして、JSON で指定された値を上書きします。この手法は、構造体に解析するときに欠落している、または不完全な JSON データを処理する便利な方法を提供します。

以上がGo で JSON を解析するときにデフォルト値を指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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