【Kotlin/Android】GSONでTypeAdapterを使ってJSONの値を別のデータ型に変換する方法

この記事からわかること
- Android Studio/Kotlinのライブラリ:GSONの使い方
- fromJson/toJsonメソッドの使い方
- TypeAdapterで値を任意のデータ型に変換するには?
\ アプリをリリースしました /
参考文献:公式リファレンス:GSON
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
GSONでJSONの値を別のデータ型に変換する方法
例えば値として0
または1
を持つJSONの形式があった場合にこれをKotlin内ではBoolean
として扱いたいとします。今回使用するJSON変換ライブラリGSONでは普通に変換するとInt
型になってしまうのでこれをカスタムできるように実装していきます。
JSON
Kotlinで扱いたいクラス
TypeAdapterを使用する
GSONでJSONの値を別のデータ型に変換するにはTypeAdapter
を継承したExample
を変換するためのカスタムクラスを用意します。
- writeメソッド:オブジェクトをJSONにエンコードする方法を定義
- readメソッド:JSONをオブジェクトにデコードする方法を定義
続いて作成したTypeAdapter
クラスはregisterTypeAdapter
を使用して登録しておきます。
あとはGSONを使用して普通にエンコード/デコード処理を実装すれば期待通りの結果になります。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。