https://zenn.dev/hsaki/articles/go-convert-json-struct
この記事はGo Advent Calendar 2021 13日目の記事です。
記事のテーマはencoding/json
パッケージにおけるjsonエンコード・デコードの扱い方についてです。
普段私は、
Marshal
とUnmarshal
ってどっちがGo→jsonでどっちがjson→Goなんだっけ?などというところがうろ覚えでパッと出てこないので、この際なのでまとめてしまおうということで前半部分を書きました。
また記事後半では、私が今年読んだとある本の内容に基づいてGoでのjsonデコードが持つ性質を好き勝手に考察してみました。
25日に向けてちょうど折り返しの位置ですが特におもしろネタ要素はなく、普通に私の書きたいことをひたすら真面目に理屈っぽく書いてしまいました。ごめんなさい(ゝω・)テヘペロ
io.Reader
とio.Writer
について知っていると読みやすいですが必須ではないです)まずは「エンコード・デコードとは何を意味するのか?」というところについて明確にしておきましょう。