Kotlin中JSONArray内的可变列表

Kotlin中JSONArray内的可变列表,json,kotlin,Json,Kotlin,考虑Kotlin中的代码: var test = JSONArray() test.put(mutableListOf(1, 2, 22, 15, 56)) //var test2 = ??? //sets value of test2 to 15 我到底应该把什么放进箱子里???test2是否返回值15?非常感谢 我看到您想从JSONArray和可变列表中获取数字15。 我认为这将有助于你: var mutableList = test.get(0) var test2 = mutable

考虑Kotlin中的代码:

var test = JSONArray()
test.put(mutableListOf(1, 2, 22, 15, 56))

//var test2 = ??? //sets value of test2 to 15

我到底应该把什么放进箱子里???test2是否返回值15?非常感谢

我看到您想从JSONArray和可变列表中获取数字15。
我认为这将有助于你:

var mutableList = test.get(0)
var test2 = mutableList.get(3)

3是可变列表中15的索引。

您可以执行以下操作:

val firstList = test[0] as List<Int>
val fourthElement = firstList[3] // 15
val firstList=test[0]作为列表
val fourthElement=firstList[3]//15
注意,这里需要处理各种异常

  • 第一个元素可能不是
    列表
    。如果它根本不是
    列表
    ,则初始强制转换将失败,如果它是
    列表
    但不包含
    Int
    值,则读取第四个元素将导致强制转换异常
  • 索引
    3
    处的第一个列表中可能没有元素,这也可能导致异常

假设您使用的是
org.json
one,最安全的方法是:

val test = JSONArray()
test.put(mutableListOf(1, 2, 22, 15, 56))

val test2 = test.getJSONArray(0).getNumber(3)
println(test2)

您是否可以发布您试图组装的JSON?你的问题很不清楚,JSONArray()将是一个保存可变列表的代码,因此代码将类似于test.put(mutableListOf(2,5,55,66,77,100)),然后是test.put(mutableListOf(22,15))和test.put(mutableListOf(1,22,81,44))等等。可以将其视为一个JSONArray,用于记录每户住户的年龄。我只希望代码能够检索存储在这个JSONArray.Hi中的第一个可变列表的第四个数字。我尝试了您的代码,但它在var test2=mutableList.get(3)中给了我一个未解决的引用错误