中級 › json.Unmarshalで非公開(小文字始まり)フィールドが無視される › パターン5
json.Unmarshalで非公開(小文字始まり)フィールドが無視される
encoding/jsonパッケージは、構造体の小文字始まりの非公開フィールドを読み書きできません。
1 package main 2 3 import ( 4 "encoding/json" 5 "fmt" 6 ) 7 8 type Product struct { 9 ______ float64 ^ 10 } 11 12 func main() { 13 var p Product 14 json.Unmarshal([]byte(`{"price":9.99}`), &p) 15 fmt.Printf("%+v\n", p) 16 }
出力: {price:0}JSONは{"price":9.99}
空欄を埋めて実行を通す
フィールド名を大文字始まりに変更するだけで、JSONのキーとは大文字小文字の違いがあっても自動的にマッチします。
次の問題