中級 › json.Unmarshalで非公開(小文字始まり)フィールドが無視される › パターン1
json.Unmarshalで非公開(小文字始まり)フィールドが無視される
encoding/jsonパッケージは、構造体の小文字始まりの非公開フィールドを読み書きできません。
1 package main 2 3 import ( 4 "encoding/json" 5 "fmt" 6 ) 7 8 type User struct { 9 _____ string ^ 10 } 11 12 func main() { 13 var u User 14 json.Unmarshal([]byte(`{"name":"go"}`), &u) 15 fmt.Printf("%+v\n", u) 16 }
出力: {name:}JSONは{"name":"go"}
空欄を埋めて実行を通す
小文字始まりのnameフィールドはencoding/jsonからアクセスできず、値が設定されないまま空文字列で残ります。
次の問題