【发布时间】:2018-09-09 09:19:28
【问题描述】:
这是我的 json:
{
"events": [
{
"strHomeTeam": "Liverpool",
"strAwayTeam": "Swansea",
}
]
}
这是我的模型:
data class Detail(@SerializedName("events") val events : EventDetail)
data class EventDetail(val strHomeTeam : String, val strAwayTeam: String)
这是我将 json 数据传递给模型的代码:
val body = response?.body()?.string()
val gson = GsonBuilder().create()
val eventData = gson.fromJson(body, Detail::class.java)
但我收到以下错误:
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 12 path $.events
谁能帮帮我?
【问题讨论】:
-
在 JSON 中你有一个 EventDetail 的数组/列表,而在你的 Detail 类中你有一个简单的字段。将其更改为 Array
应该可以解决您的问题 -
谢谢你,但是如何访问 EventDetail 属性,例如“strHomeTeam”
-
从 Detail 对象可以访问 EventDetails 数组。示例:for(eventData.events 中的详细信息){ println(detail.srtHomeTeam) }
-
非常感谢,已解决。祝你有美好的一天:)
-
@Lukmanhakim 标记正确答案,如果你解决了你的问题
标签: android android-studio kotlin gson