11
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RetrofitのJSONライブラリを使うときにしっておきたいこと

Posted at

前置き

使い方とか詳しい話はzakiさんのスライドとかみるとよさそう

現状だとRetrofitで対応しているConverterは下記3つの選択肢がある

  • gson
  • jackson
  • moshi

メソッド数

Name method count
gson-2.4.jar 1242
jackson-databind-2.6.3.jar 8019
jackson-core-2.6.3.jar 2192
jackson-annotation-2.6.3.jar 248
moshi-1.0.0.jar 609

あんまり言及されないが、Androidは65K問題とかあるので気にしたい点。
jacksonは早いのだけれど、10Kのmethod数を持っていかれるのでデカいアプリやGooglePlayServicesを利用するアプリは注意しておいたほうがいい。

JSONのfield存在チェック

例えば {"hoge":"fuga"} ってjsonが来た時に {"piyo":""}ってfieldが存在することを保証したい。
これを例外として扱う仕組みをライブラリ側でサポートしてるかどうか

Gson

Jackson

Moshi

  • ドキュメントがあんまりなくて不明...
  • 誰か知ってたら教えて下さい

個人的な感想

Jackson

  • 早くてよい
  • method数がでかすぎてAndroidで利用するには要注意

Gson

  • 安定していて良い
  • PerformanceとRequiredFieldチェックが効かないのが残念.

Moshi

  • 1.0.0が出たばかりでまだ若い
  • だがシンプルで軽量でよさそうな感じ
  • パフォーマンスもこれからに期待
11
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?