@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Go: json struct 大文字小文字

JSON and Go - The Go Blog

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 するだけでも、値にアクセスしたければ構造体のフィールド名は大文字始まりにすること。