Android 如何在不直接引用数组名称的情况下从json数组获取数据

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

我会快速解释上面JSON数据中发生了什么

我有一个名为messages的表,其中一些消息有一个公共
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);
}