Swift 4.0から導入されたCodableは、アプリ内のデータ変換に広く普及し、特にJSONEncoder/Decoderは、みなさんも日常的に使用しているでしょう。
しかし、型表現豊かなSwiftは、JSONの素朴なデータ構造へ単純に変換しづらい面があります。
そのため、あまり知られていないデータシリアライゼーション、デシリアライゼーションの仕様が存在しています。
普段は目にすることはないけれど、JSONEncoder/Decoderでハマった時に、このトークが解決のきっかけになるかもしれません。
JSONEncoder/Decoderの標準挙動を深く知っていれば、任意の柔軟なカスタマイズも可能です。
クイズ形式で楽しみながら、学んでいきましょう!