Android 如何在不直接引用数组名称的情况下从json数组获取数据
我会快速解释上面JSON数据中发生了什么 我有一个名为messages的表,其中一些消息有一个公共Android 如何在不直接引用数组名称的情况下从json数组获取数据,android,kotlin,Android,Kotlin,我会快速解释上面JSON数据中发生了什么 我有一个名为messages的表,其中一些消息有一个公共message\u id列。我按message\u id对消息进行分组。红色框是包含子项的消息id 现在进入问题, 在不实际使用message_id字符串的情况下,是否可以访问message_id的各种数组的子级 i、 迭代数组 while (i < array.length) { array[i] } while(i
message\u id
列。我按message\u id
对消息进行分组。红色框是包含子项的消息id
现在进入问题,
在不实际使用message_id字符串的情况下,是否可以访问message_id的各种数组的子级
i、 迭代数组
while (i < array.length) {
array[i]
}
while(i
如果可能的话,我怎么做
下面是我当前如何使用数组id从数据对象获取第一个数组
val jsonObject = JSONObject(response)
if (!jsonObject.getBoolean("error")) {
//getting data array from json response object
val dataObject = jsonObject.getJSONObject("data")
Log.i("MessageFragment", "[][] data array " + dataObject)
val array = dataObject.getJSONArray("NzbyxhmodN")
var i = 0
while (i < array.length()) {
//getting wallet object from json array
val message = array.getJSONObject(i)
//adding the wallet to wallet list
messageList!!.add(Message(
message.getInt("id"),
message.getInt("sender_id"),
message.getInt("receiver_id"),
message.getString("subject"),
message.getString("message"),
message.getString("message_id"),
message.getString("timestamp"),
message.getBoolean("isRead")
))
i++
}
val jsonObject=jsonObject(响应)
如果(!jsonObject.getBoolean(“错误”)){
//从json响应对象获取数据数组
val dataObject=jsonObject.getJSONObject(“数据”)
Log.i(“MessageFragment”,“[]数据数组”+数据对象)
val数组=dataObject.getJSONArray(“NzbyxhmodN”)
变量i=0
而(i
我希望在不使用名称的情况下获取数组,即(“NzbyxhmodN”)不幸的是,在不知道键值的情况下无法建模。 在这种情况下,我使用这种方法。它将对您有用
// data -> server json response
Iterator keys = data.keys();
while(keys.hasNext()) {
// random key
String key = (String)keys.next();
// and value...
JSONArray value = data.getJSONArray(key);
}