我有来自Rest API的动态json格式,如下所示:
{
"data": {
"response_code": "success",
"value": {
"Table": [
{
"id": 5,
"username": "blahblah",
"password": "blahblah",
"role": 2,
"email": "blah@tes.com",
"tanggal_buat": "2019-01-01T00:00:00"
}
]
}
},
"meta": {
"http_status": 200
}
}
对象“值”的对象数组名称为“表”。表可以包含我数据库中的值,这取决于我的查询。因此,有时json格式会更改,例如:
{
"data": {
"response_code": "success",
"value": {
"Table": [
{
"id_product": 44,
"product": "blahblah",
"lot": "blahblah",
"qty": 2,
}
]
}
},
"meta": {
"http_status": 200
}
}
如何接受json值并使用“表”的不同子类直接分配给gson
我尝试翻新并使用Kotlin
override fun onResponse(call: Call<MainResp>, response: Response<MainResp>) {
mainResponse : MainResp = response.body()
}
答案 0 :(得分:0)
假设您拥有以下课程(使用诸如http://www.jsonschema2pojo.org/之类的东西):
class Value {
List<Table> tables;
}
这里的“ Table”类不能完全是随机的!
您需要定义“表格”的可能类型,例如表1,表2 ...表N。
现在,您可以使用通用类型 T 代替Table更新Value
类,并编写自定义类型适配器:
class Value {
List<T> tables;
}
here是有关如何编写自己的类型适配器的教程之一。