如何解决接收 com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: 加载字节数据作为 Retrofit 的响应时出错
我正在从对服务器的 API 调用中以 Byte data 的形式接收图像。但是当我收到 Retrofit2 Response 时,它会导致上述错误。顺便说一句,这是我的应用程序改造对象:
object RetrofitInstance {
private val client = OkHttpClient.Builder().apply {
addInterceptor(MyInterceptor())
addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
}.build()
private val retrofit by lazy {
val gson = GsonBuilder().setLenient().create()
Retrofit.Builder()
.baseUrl(BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create(gson))
.build()
}
val api : ApplicationAPI by lazy {
retrofit.create(ApplicationAPI::class.java)
}
我不知道为什么会出现 Json 语法异常。我相信这可能是因为我创建的 gson 客户端?有人可以帮我解决这个问题。在此先感谢您。
解决方法
尝试给予
addConverterFactory(MoshiConverterFactory.create())
并在 build.gradle 中添加以下行
implementation "com.squareup.retrofit2:converter-moshi:2.9.0"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。