Я пытаюсь разобрать JSON ответ с Клаксоном в моем kotlin проекте. вот ответ JSON, который я получаю:
[
{
"user": {
"username": "admin@admin.com"
},
"name": "Ahmed Wagdi",
"username": "admin",
"location": {
"user": {
"username": "admin@admin.com"
},
"name": "Ahmed Wagdi",
"phone": "01207199086",
"latitude": "47.667159",
"longitude": "32.288021"
},
"type": "Manager",
"direct_manager": null
}
]
А вот код, который я использую для его получения:
private fun signIn() {
val url = "http://my_url/api/employees"
val request = Request.Builder().url(url)
.header("Authorization", "Basic my_auth_data")
.build()
val client = OkHttpClient()
client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
println("failed to get it : $e")
}
override fun onResponse(call: Call, response: Response) {
val body = response.body?.string()
val result = Klaxon()
.parseArray<Account>(
body.toString()
)
println("response is $result")
}
})
}
class Account(val name: String, val username: String, val type: String, val direct_manager: String)
I ' Я создал все это на основе Официального репо из Klaxon
и получаю эту ошибку:
Unable to instantiate Account with parameters [direct_manager: null, name: Ahmed Wagdi, type: Manager, username: admin]