Moshi @Json 注释不适用于 com.github.kittinunf.fuel.moshi.moshiDeserializerOf?

诺姆·西尔弗斯坦

我有一个响应对象:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章