我怎么能用Gson得到一个解析呢?我试着这样做,但是我得到了一个预期的开始_ARRAY,但是是BEGIN_OBJECT

oalqel3c  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(128)

这是我的Main.class。我想从Url得到一个解析。它包含一个Json。

fun main (args: Array<String>) {
    val response = URL("https://api.looksites.tk/").readText()
    var gson = Gson()

    val data = gson.fromJson(response, Array<Response>::class.java)
    for (x in 0 until data.size) {
        print(data[x])
    }
}

这是我的POJO

data class Response(
    @field:SerializedName("code")
    val code: String? = null,

    @field:SerializedName("message")
    val message: String? = null,

    @field:SerializedName("status")
    val status: String? = null
)

这是我的责任,我得分析一下.

{"status":"success","code":"200","message":"Access granted"}

这是我的错误。应该是开始_ARRAY,但实际上是BEGIN_OBJECT
求你了帮帮我

bpsygsoo

bpsygsoo1#

在这一行中,您将告诉Gson您希望响应是一个数组

val data = gson.fromJson(response, Array<Response>::class.java)

但是根据您的错误消息和您在注解中作为响应发布的内容,您实际上返回的是一个json对象,而不是数组。

val data = gson.fromJson(response, Response::class.java)

它应该正确地获取对象

相关问题