我如何使用 Gson 进行解析?我尝试这样做,但我得到了 Expected BEGIN_ARRAY 但是 BEGIN_OBJECT
How can i get a parse with Gson? I try to do it but i get an Expected BEGIN_ARRAY but was BEGIN_OBJECT
这是我的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"}
这是我的错误。 预期 BEGIN_ARRAY 但 BEGIN_OBJECT
请帮帮我
在这一行中,您告诉 Gson 您期望响应是一个数组
val data = gson.fromJson(response, Array<Response>::class.java)
但根据您的错误消息和您在评论中作为响应发布的内容,您实际上得到的是 json 对象,而不是数组。如果您将代码更改为
val data = gson.fromJson(response, Response::class.java)
它应该能正确获取您的对象
这是我的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"}
这是我的错误。 预期 BEGIN_ARRAY 但 BEGIN_OBJECT
请帮帮我
在这一行中,您告诉 Gson 您期望响应是一个数组
val data = gson.fromJson(response, Array<Response>::class.java)
但根据您的错误消息和您在评论中作为响应发布的内容,您实际上得到的是 json 对象,而不是数组。如果您将代码更改为
val data = gson.fromJson(response, Response::class.java)
它应该能正确获取您的对象