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 サイトの他の関連記事を参照してください。