如何在RetroFit中使用Gson转换器?

我正在制作一个简单的RetroFit应用程序用于教育目的,并使用IntelliJ IDEA作为我的IDE。

我已经正确地导入了Retrofit库(至少我认为我有)但是我无法获得Gson Converter包。 我有谷歌安装的gson.jar,但在这些库中没有任何一个地方有一个名为“GsonConverterFactory”的类,这是我解析JSON所必需的。

编辑:我在Windows上。

  • 为什么Retrofit会宣传为“Type Safe”库?
  • 如何在从站点下载和解析XML文件时一起使用Retrofit和SimpleXML?
  • 改造和集中error handling
  • 在build.gradle中使用XML构建错误到java对象转换器依赖项以进行改造
  • 执行同步PUT请求时在Retrofit中的EOFException
  • retrofit + okhttp:检索GZIPInputStream
  • 向API请求动态添加可选参数
  • 改造API以检索png图像
  • compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'build.gradle文件中并解决依赖关系或将相应的jar添加到您的build.gradle路径。

    然后使用GsonConverterFactory.create()来获取Converter Factory

    我尝试使用2.0.0-beta1但它给了我一个非法的types转换错误工厂,如下所示,所以转移到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

    我的build.gradle有以下依赖关系来解决改进。

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

    如果您使用的是改造2,则需要包含convert-gson包。 对于gradle构建,您可以将compile 'com.squareup.retrofit:converter-gson:2.0.0-beta3'到依赖项部分。

    对于其他构建系统,或者下载jar,请查看 Maven Central convert-gson页面。

    尝试这个

     /* 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' 

    在您的模块中: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'