JSONをデコードする時にjson.Unmarshalとjson.NewDecoderを使っているパターンがあって、どっち使えばいいねんって人向けに書きました ここに詳しく書いてありました 結論 ストリームから情報を読み込んだ時はjson.NewDecoderを使おう! それ以外の場合はjson.Unmarshalを使おう! 解説 どちらでも大まかな流れとして デコードしたものを格納するStructを用意する 用意したStructへのポインタをメソッドに渡し、デコード情報を流し込んでもらう という所は変わらない 今回は便宜上、データを格納するdataStructという型がある前提で話を進める json.NewDecoderについて http.Getで帰ってきたresp.Bodyなどの io.Reader型に対して使う 主な使い道としては、今あげたhttp.Getのレスポンス処理がほとんどだ