【发布时间】:2020-12-12 12:10:39
【问题描述】:
我正在调用我的本地主机,当然,此 android 应用程序的所有权限都已到位。关于从字符串解析 json 的任何建议
fun findAll(): ArrayList<User>? {
val url = URL("http:///10.0.2.2:8080/employees")
val connection = url.openConnection() as HttpURLConnection
connection.setRequestProperty("Accept", "application/json");
var users = arrayListOf<User>()
(if (connection.responseCode == 200) connection.inputStream else connection.errorStream).use { stream ->
BufferedReader(InputStreamReader(stream)).use { reader ->
var line: String?
val response = StringBuffer()
while ((reader.readLine().also { line = it }) != null) {
response.append(line)
}
val jsonArray = JSONArray(response)
for (i in 0 until jsonArray.length()) {
val user = jsonArray.getJSONObject(i)
}
}
}
return users
}
用户数据类
data class User(var id: Long?, var first: String?, var last: String?): Parcelable
问题出在这一行
val jsonArray = JSONArray(response)
org.json.JSONException:不是原始数组:类 java.lang.StringBuffer
【问题讨论】: