APIのレスポンスのjsonが決まっていてそれをGoのstructにUnmarshalするときは,structのタグをいちいちjsonのフィールド名に合わせてjson:"hoge"
と書いてやらないといけません。
jsonからgoのstructに変換してくれないかなーと探したらありました。
https://mholt.github.io/json-to-go/
試しにGoogle Trendのresponseを食わせてみます。
階層を持ったjsonは正しくパースしてくれないようです。がシンプルでかなり便利ですね。
githubを見るとjavascriptだけで作られており結構ナイーブな実装されていることがわかります。
https://github.com/mholt/json-to-go
このソース読んでて思い出したんですがgo lintでId
とかUrl
とか大文字で書かせるのってべた書きで定義してあるんですよね。まぁそりゃそうなんですが。
(参考) https://github.com/golang/lint/blob/39d15d55e9777df34cdffde4f406ab27fd2e60c0/lint.go#L695-L731