Go での JSON 解析のデフォルト値の仕様
encoding/json パッケージを使用して Go で JSON データを解析する場合、に存在しないフィールドにデフォルト値を割り当てるには、 input.
encoding/json パッケージを使用したアプローチ
はい、組み込みのencoding/json パッケージを使用すると、デフォルト値を指定できます。 JSON アンマーシャリング用に空の構造体を初期化する代わりに、デフォルト値を使用して構造体を作成し、それをアンマーシャル関数に渡すことができます。
例:
type Test struct { A string B string C string } func main() { var example []byte = []byte(`{"A": "1", "C": "3"}`) out := Test{ A: "default a", B: "default b", } if err := json.Unmarshal(example, &out); err != nil { panic(err) } fmt.Printf("%+v", out) }
Inこの例では、A と B の値はそれぞれ「デフォルト a」と「デフォルト b」として指定されます。 JSON をアンマーシャリングすると、入力 (A と C) に存在する値のみが変更され、その他の値は変更されません。
出力:
{A:1 B:default b C:3}
以上がGo で JSON を解析するときにデフォルト値を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。