ユーザ定義クラスのカスタムSerializer(Delegating版)

投稿日:  更新日:

Kotlin serializationでJSONをパース(JSONの記述⇔クラスのオブジェクト)する場合に、一般クラスは未対応です。

例えば、データクラス(コンストラクタの引数でプロパティを指定するクラス)以外の、ユーザ定義のクラスはパース出来ません。また、ライブラリ提供のクラスもパース出来ません。

対応させるためには、そのクラスのカスタムSerializerを作成します。

そして、相互変換する方法をプログラマー側で定義します。

カスタムSerializer(ユーザ定義クラス、Delegating版)の作成方法をまとめます。

※環境:Android Studio Meerkat | 2024.3.1
    Kotlin 2.0.0
    Kotlin serialization json 1.7.1
続きを読む

ライブラリ提供クラスのカスタムSerializer(Primitive版)

投稿日:  更新日:

Kotlin serializationでJSONをパース(JSONの記述⇔クラスのオブジェクト)する場合に、一般クラスは未対応です。

例えば、データクラス(コンストラクタの引数でプロパティを指定するクラス)以外の、ユーザ定義のクラスはパース出来ません。また、ライブラリ提供のクラスもパース出来ません。

対応させるためには、そのクラスのカスタムSerializerを作成します。

そして、相互変換する方法をプログラマー側で定義します。

カスタムSerializer(ライブラリ提供クラス、Primitive版)の作成方法をまとめます。

※環境:Android Studio Meerkat | 2024.3.1
    Kotlin 2.0.0
    Kotlin serialization json 1.7.1
続きを読む

ユーザ定義クラスのカスタムSerializer(Primitive版)

投稿日:  更新日:

Kotlin serializationでJSONをパース(JSONの記述⇔クラスのオブジェクト)する場合に、一般クラスは未対応です。

例えば、データクラス(コンストラクタの引数でプロパティを指定するクラス)以外の、ユーザ定義のクラスはパース出来ません。また、ライブラリ提供のクラスもパース出来ません。

対応させるためには、そのクラスのカスタムSerializerを作成します。

そして、相互変換する方法をプログラマー側で定義します。

カスタムSerializer(ユーザ定義クラス、Primitive版)の作成方法をまとめます。

※環境:Android Studio Meerkat | 2024.3.1
    Kotlin 2.0.0
    Kotlin serialization json 1.7.1
続きを読む

Kotlin serializationでJSONをパース

投稿日:  更新日:

Kotlinで利用可能なJSONライブラリーには「GSON, Jackson, Moshi, Kotlin serializationなど」があります。

Kotlin Serializationは、Kotlinがベース(前の3つはJavaがベース)です。

2020.10にVer 1.0.0がリリースされており、比較的新しいライブラリです。

今回は、Kotlin serializationについて、まとめます。

※環境:Android Studio Ladybug Feature Drop | 2024.2.2 Patch 1
    Kotlin 2.0.0
    Kotlin serialization json 1.7.1
続きを読む

APIとフレームワークの意味

投稿日:  更新日:

プログラミングを学習していると、「API」と「フレームワーク」という言葉が頻繁に出てきます。

最近、自分の中で「“APIであるもの”と“ないもの”」「“フレームワークであるもの”と“ないもの”」の境目が、ぼやけてきました。

ライブラーとフレームワークが別ものとして扱われている記事を見たりすると、「フレームワークとは何?!」と考えてしまいます。同じものだと思うのですが…

ここで、もう一度、整理を行うために、まとめました。

続きを読む