The json package only accesses the exported fields of struct types (those that begin with an uppercase letter). Therefore only the the exported fields of a struct will be present in the JSON output.
json.Marshal
: 構造体の非公開フィールドは JSON に現れないjson.Unmarshal
: 構造体の非公開フィールドには JSON の値は入らない- そのフィールドの型のゼロ値が入る
https://play.golang.org/p/28f97JGBmmk
Marshal/Encode せず Unmarshal/Decode するだけでも、値にアクセスしたければ構造体のフィールド名は大文字始まりにすること。