moshi には Kotlin Support 機能があり、別途 moshi-kotlin を追加して、
- implementation 'com.squareup.moshi:moshi-kotlin:1.5.0'
- val moshi = Moshi.Builder()
- .add(KotlinJsonAdapterFactory())
- .build()
また、moshi には Custom Type Adapters 機能があり、JSON の値とオブジェクトとの変換をカスタマイズすることができます。
この CustomAdapter および、CustomAdapter の Factory は KotlinJsonAdapterFactory より先に add しなければいけません (Kotlin Support のところに書いてあるのに気づかずはまってしまった...)。
- Retrofit.Builder()
- .addConverterFactory(MoshiConverterFactory.create(
- Moshi.Builder()
- .add(MyCustomAdapter()) // KotlinJsonAdapterFactory より先なので OK
- .add(KotlinJsonAdapterFactory())
- .build()))
- ...
0 件のコメント:
コメントを投稿