golang JSON struct tag
go で JSON のパースする時は、こんな感じ
package main import( "fmt" "encoding/json" ) var text = []byte(`{"Name":"sho"}`) func main() { type Config struct { Name string } config := &Config{} json.Unmarshal(text, &config) fmt.Printf("%+v\n", config) }
ただ、これだと Name
か name
しかパースしてくれない。構造体のメンバの名前は "Addr" にしたいけど、 JSON では "address" と書きたいみたいな要求があるときは、tag をつけておくといい。
package main import( "fmt" "encoding/json" ) var text = []byte(`{"onamae":"sho"}`) func main() { type Config struct { Name string `json:"onamae"` } config := &Config{} json.Unmarshal(text, &config) fmt.Printf("%+v\n", config) }
JSON では Underscore case で、 Go では Upper camel case 書きたいみたいなわがままさんはこういうことするといい。 JSON でどうかけばいいかわかりやすくなるし一石二鳥っぽい。