Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取JSONArray的最深元素_Java_Android_Arrays_Json - Fatal编程技术网

Java 如何获取JSONArray的最深元素

Java 如何获取JSONArray的最深元素,java,android,arrays,json,Java,Android,Arrays,Json,如何在JavaAndroid中获得json数组的最深数组 排列 ( [0]=>阵列 ( [0] => Array ( [0] => 1 [1] => and [2] => 2 ) [1] => or [2] => 3 ) [1] => and [

如何在JavaAndroid中获得json数组的最深数组

排列 (

[0]=>阵列

    (
        [0] => Array
            (
                [0] => 1
                [1] => and
                [2] => 2
            )

        [1] => or
        [2] => 3
    )

[1] => and
[2] => 2
)

在这种情况下,我希望获取元素[0][0] 或

排列


我不知道你到底想做什么,但也许这可以让你的问题变得更清楚:

JSONArray findDeepestArray(JSONArray arr){
    for(Object o : arr){
        if(o instanceof JSONArray){
            JSONArray ob = (JSONArray) o;
            JSONArray a = findDeepestArray(ob);
            return null != a ? a : ob;
        }
    }
}
请根据你的需要修改一下,这只是一个草稿


希望有帮助。

json编码为:[[1,“and”,2],“or”,3],“and”,2]到目前为止,您尝试了什么?我认为这需要一个递归方法,但如何实现呢!在
JSONArray
API文档中有什么不清楚的地方?我的问题是JSONArray只在一个级别上解码数组
JSONArray findDeepestArray(JSONArray arr){
    for(Object o : arr){
        if(o instanceof JSONArray){
            JSONArray ob = (JSONArray) o;
            JSONArray a = findDeepestArray(ob);
            return null != a ? a : ob;
        }
    }
}