我正试图使用okHttp从本地主机上我自己的rest服务器上获取android上的JSON,如下所示:
JSON-
{
"status": true,
"data": [
{
"id": "1",
"title": "Jadwal Catin 2021",
"description": "bismillah"
},
{
"id": "2",
"title": "Jadwal Vaksin Covid Lansia",
"description": "Tanggal 16-Juli-2021 di puskesmas perwira sudah bisa vaksin covi-19 untuk lansia"
}
]
}
数据类
class Placeholder {
var userId: Int? = null
var id: Int? = null
var title: String? = null
@SerializedName("description")
var body: String? = null
}
进入Recycleview
override fun onResponse(call: okhttp3.Call, response: okhttp3.Response) {
val body = response.body!!.string()
var gson = GsonBuilder().create()
var result = gson.fromJson(body, Array<Placeholder>::class.java).toList()
runOnUiThread {
beritaAdapter.setData(result)
}
你知道我该怎么修吗?
这里显示的JSON不仅仅是Placeholder
的数组,它还是一个JSON对象({ ... }
(,它本身包含两个属性status
和data
。data
是一个部分匹配Placeholder
类的对象数组。
您可以用以下类表示整个JSON:
class PlaceholdersResponse {
var status: Boolean
var data: List<Placeholder>
}
您可以通过以下方式访问数据阵列:
var result = gson.fromJson(body, PlaceholdersResponse::class.java).data.toList()