Как использовать конвертер Gson в RetroFit?

Я делаю простое приложение RetroFit для образовательных целей и использую IntelliJ IDEA в качестве моей IDE.

Я правильно импортировал библиотеку Retrofit (по крайней мере, я думаю, что у меня есть), но я не могу получить пакет Gson Converter. У меня есть gson.jar из Google, но нигде ни в одной из этих библиотек нет класса под названием "GsonConverterFactory", который необходим для того, чтобы я разбирал JSON.

Изменить: я нахожусь в Windows.

Ответы

Ответ 1

Добавьте compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2' в ваш build.gradle файл и выясните зависимость зависимостей или добавьте соответствующие банки в ваш пуритный путь.

затем используйте GsonConverterFactory.create(), чтобы получить Converter Factory

Я попытался использовать 2.0.0-beta1, но это дало мне ошибку незаконного типа преобразования для factory, как указано ниже, поэтому перенесено в 2.0.0-beta2

  error: method addConverterFactory in class Builder cannot be applied to   given types;
    required: Factory
    found: GsonConverterFactory
    reason: actual argument GsonConverterFactory cannot be converted to Factory by method invocation conversion

Итак, мое предложение - использовать 2.0.0-beta2

my build.gradle имеет следующие зависимости для разрешения модификации.

 compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'  
 compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'

Ответ 2

Если вы используете retrofit 2, вам нужно включить пакет convert-gson. Для сборки gradle вы можете добавить compile 'com.squareup.retrofit:converter-gson:2.0.0-beta3' в раздел зависимостей.

Для других систем сборки или для загрузки флага выберете страницу Maven Central convert-gson.

Ответ 3

Попробуйте это

/* JSON */
compile 'com.google.code.gson:gson:2.5'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'

// >Retrofit & OkHttp
compile ('com.squareup.retrofit2:retrofit:2.0.0-beta3') {
    // exclude Retrofit’s OkHttp peer-dependency module and define your own module import
    exclude module: 'okhttp'
}
compile 'com.squareup.okhttp3:okhttp:3.0.1'

Ответ 4

в вашем модуле: app build.gradle add

compile 'com.squareup.retrofit2:converter-gson:[retrofit2 version]'

версия выше аналогична версии вашего retrofit2, поэтому, например, ваша версия retrofit2 равна 2.1.0, чем ваша build.gradle должна выглядеть примерно так:

compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'