如何在Kotlin中解析JSON?它从JSON中获取整个数组,但不能从数组中获取特定对象。
它在Java中工作,但在Kotlin中不工作。
try {
val jsonObject = JSONObject(result)
val users = jsonObject.getJSONArray("Users")
for (i in 0 until users.length())
{
Toast.makeText(applicationContext,"Json Result is----"+result,Toast.LENGTH_LONG).show()
val obj = users.getJSONObject(i)
val name = obj.get("name").toString()
Toast.makeText(applicationContext, "User name: "+name , Toast.LENGTH_LONG).show();
}
}catch(e: JSONException){}
2条答案
按热度按时间6kkfgxo01#
使用
jsonObject.getString(paramName: String)
,而不是jsonObject.get(paramName: String).toString()
。也可以将此对象转换为字符串。请参见http://www.docjar.com/docs/api/org/json/JSONObject.html
atmip9wb2#
最佳快速实践是使用https://json2kotlin.com等工具生成原生Kotlin“数据类”,而不是手动检查每个键
因此,您的API响应将变成与JSON结构对应的以下几个数据类:
和
和
当您得到结果时,只需将JSON响应Map到这些数据类。video here演示了如何一步一步地进行Map,并包含更多的示例代码。