Android 燃料应为Begin数组,但为Begin对象
我是Kotlin的新手,我仍在学习如何获得对象响应,但我有以下例外:Android 燃料应为Begin数组,但为Begin对象,android,kotlin,deserialization,response,Android,Kotlin,Deserialization,Response,我是Kotlin的新手,我仍在学习如何获得对象响应,但我有以下例外: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $ 以下是Json结果: {"Success":"1","Message":"True","Items":[{"Id":3,"Name":"AndroidV
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $
以下是Json结果:
{"Success":"1","Message":"True","Items":[{"Id":3,"Name":"AndroidVersion","Value":"1"},{"Id":4,"Name":"IOSVersion","Value":"1.0"},{"Id":5,"Name":"AndroidForceUpdate","Value":"true"}]}
这是模型课
data class MobileConfiguration(
val id: Int,
val name: String,
val value: String
) {
class Deserializer : ResponseDeserializable<Array<MobileConfiguration>> {
override fun deserialize(content: String): Array<MobileConfiguration>? = Gson().fromJson(content, Array<MobileConfiguration>::class.java)
}
}
请问我做错了什么?如果有人能帮忙的话我想问题出在模型课上。 假设
MobileConfiguration
数组直接位于response类之下,但实际上它位于Items
对象之下
因此,不应将数组
用作响应对象
,而应使用其他类作为容器,如:
data class MobileConfigurationResponse(
val success: String,
val message: String,
val items: Array<MobileConfiguration>
)
data class MobileConfigurationResponse(
val success: String,
val message: String,
val items: Array<MobileConfiguration>
)
val (config, err) = result.items