我有API响应,其中包含对象(图形)
[
{
"code": 200,
"status": "OK",
"FirstDay": "2019-11-18",
"LastDay": "2019-11-24",
"graphic": {
"2019-11-23": [
{
"godzinaStart": "08:30",
"godzinaStop": "10:00",
"przedmiot": "Matematyka dyskretna",
"sala": "32AK8",
"nauczyciel": "xxx",
"grupy": "1K131; 1K132; 1K133; 1K134; 1K135; 2K131",
"typ": "wykład"
},
],
"2019-11-24": [
{
"godzinaStart": "08:30",
"godzinaStop": "10:00",
"przedmiot": "Podstawy informatyki",
"sala": "308K",
"nauczyciel": "xxx",
"grupy": "1K131",
"typ": "laboratorium"
},
]
}
}
]我必须将这个JSON解析为Kotlin中的对象。所以我用参数做了课
class GraphicAPIResponse(
var code: Int,
var status: String,
var errorMessage: String = "",
var FirstDay: String = "",
var LastDay: String = "",
var graphic: JsonObject? = null OR var graphic: JsonArray<Any>? = null (I tried both)
)我用这个函数来解析数据
val responeAPI = Klaxon().parseArray<GraphicAPIResponse>(response)图形为JsonObiect类型时,应用程序抛出错误
I/System.out: ERROR -> Unable to instantiate JsonObject with parameters []当图形是JsonArray<Any>类型时,下面是错误
I/System.out: ERROR -> Unable to instantiate GraphicAPIResponse with parameters [LastDay: 2019-11-24, code: 200, status: OK, graphic: java.lang.Object@aef265a, FirstDay: 2019-11-18]我正试着从两个小时内解决这个问题。有人能帮帮我吗?
@编辑
谢谢你阿列克西·罗曼诺夫
那有帮助
发布于 2019-11-25 08:08:18
为嵌套对象定义类型:
class Lesson(val godzinaStart: String, val godzinaStop: String, ...)并在GraphicAPIResponse中使用
class GraphicAPIResponse(
var code: Int,
var status: String,
var errorMessage: String = "",
var FirstDay: String = "",
var LastDay: String = "",
var graphic: Map<String, Lesson> = mapOf()
)(老实说,我希望JsonObject也能工作)
https://stackoverflow.com/questions/59021918
复制相似问题