Moshi @Json 注释不适用于 com.github.kittinunf.fuel.moshi.moshiDeserializerOf?
Moshi @Json annotation not working for com.github.kittinunf.fuel.moshi.moshiDeserializerOf?
我有一个响应对象:
data class ResponseObject(
val notCamelcase: String,
val param2: String,
val param3: String
)
请注意响应 JSON 正文中的第一个参数不是驼峰式(如 notCamelCase
)。
Furtheron,我触发了 REST 调用 with the FUEL library:
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 一起工作?怎么了?
为 Moshi kotlin 使用 @field:Json()
注解。
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
我有一个响应对象:
data class ResponseObject(
val notCamelcase: String,
val param2: String,
val param3: String
)
请注意响应 JSON 正文中的第一个参数不是驼峰式(如 notCamelCase
)。
Furtheron,我触发了 REST 调用 with the FUEL library:
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 一起工作?怎么了?
为 Moshi kotlin 使用 @field:Json()
注解。
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