2013年8月17日土曜日

Go で構造体を JSON に変換するときのタグ付け

Go の構造体の各要素にはタグを付けることができます。
タグを付けることでパッケージに要素の扱い方を支持することができます。
type People struct {
    Id int `json:"-"`          // id は変換後の json に含めない
    Name string `json:"name"`  // Name は name として json 化
}
people := new(People)
people.Id = 1
people.Name = 'tanaka'
bytes, err := json.Marshal(people)  // bytes = {"name":"tanaka"}

例えば、 json パッケージを使って構造体を JSON に変換するときに使います。
タグに json: "-" を指定することで、変換時にこの要素を無視することを指示できます。
また、json: "名前" とすることで変換後の要素の名前を指定することもできます。
他にも Google App Engine の datastore パッケージなどで同じ書き方ができます。
詳しくはそれぞれのパッケージドキュメントを参照してください。

Package - Go
http://golang.org/pkg/

0 件のコメント:

コメントを投稿