追記: 2022年7月10日
使い方などを書きました。 Qiita にも同様の記事を投稿しています。
Kotlin Serialization
KotlinでJSONをパースするとき、普段はJSON in JavaやJackson、Gsonなどがある。
これらはJVMで動作するためKotlin/MPPでは使用できない。
そこでKotlin Serializationを使用する。
これはKotlin/MPPで動作するため、JVMはもちろん、JSでも使用可能である。
使ってみる
今回はGradleを使用する。
使用するためにはpluginsとdependenciesの二つを追記する必要がある。
|
|
使用方法
使用方法についてはこの記事を参考にした。
シリアライズするクラスの作成
シリアライズしたいクラスをシリアライズ可能なクラスとして作成します。
|
|
シリアライズするクラスに@Serializable
アノテーションを付けます。
対応する値に@SerialName
アノテーションをつけてバインドします。このアノテーションはシリアライズ前後で名前が同じ場合は省略可能です。
シリアライズ / デシリアライズ する
クラスを作成することができれば、あとはシリアライズするだけです。
シリアライズするためには以下のように記述します。
|
|
encodeToString()
を用いてインスタンスをJSONにシリアライズしています。
また、デシリアライズするにはdecodeFromString()
を用いて以下のように記述します。
|
|
リストを使う場合
リストを用いた場合でも、シリアライズ / デシリアライズを行うことができます。
リストをシリアライズするには以下のように記述します。
|
|
デシリアライズを行う場合は、以下のようにListSerializerを用いて記述します。
|
|
詳しくは
Kotlin Serialization ではこの他にも様々な機能があります。
詳しくはドキュメントを参照してください。
https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/serialization-guide.md
おわりに
Kotlin Serialization はJSON以外のフォーマットもサポートしています。
非常に便利なライブラリなのでもっと有名になってくれると嬉しいです。