我有一个响应对象:
data class ResponseObject(
val notCamelcase: String,
val param2: String,
val param3: String
)
请注意,notCamelCase
响应 JSON 正文中的第一个参数不是驼峰式大小写(如)。
此外,我使用 FUEL 库触发 REST 调用:
Fuel.get(someParam)
.responseObject(moshiDeserializerOf(ResponseObject::class.java)) { _, response, result ->
try {
if (response.statusCode == HttpURLConnection.HTTP_OK) {
val responseObject = result.component1()
}
以下是我的进口:
import com.github.kittinunf.fuel.Fuel
import com.github.kittinunf.fuel.core.FuelError
import com.github.kittinunf.fuel.core.FuelManager
import com.github.kittinunf.fuel.core.HttpException
import com.github.kittinunf.fuel.moshi.moshiDeserializerOf
要在我的以下代码中使用驼峰式大小写,我修改了 ResponseObject 如下:
data class ResponseObject(
@Json(name="notCamelcase")
val notCamelCase: String,
val param2: String,
val param3: String
)
在这种情况下,notCamelCase
为空。@Json 是否仅与 com.github.kittinunf.fuel.moshi.moshiDeserializerOf 一起使用?怎么了?
@field:Json()
为 Moshi kotlin使用注解。
data class ResponseObject(
@field:Json(name="notCamelcase")
val notCamelCase: String,
val param2: String,
val param3: String
)
参考:https : //github.com/square/moshi/issues/315正如讨论中提到的,这仍然是一种解决方法。Kotlin 官方支持是正确的方法:https : //github.com/square/moshi#kotlin
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句