试图从Json读取2D数组到Android

时间:2015-11-17 18:05:43

标签: android arrays json

我在阅读我的Json文档时遇到问题,因为我想读取这样的二维数组:

  

“地图”:[                 [“PARED”,“PARED”,“PARED”,“PARED”,“PARED”,“PARED”,“PARED”,“PARED”,“PARED”,“PARED”],                 [“PARED”,“SNOWMAN”,“ESPACIO”,“PARED”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“PUERTA”],                 [“PARED”,“ESPACIO”,“SOL”,“PARED”,“PARED”,“PARED”,“ESPACIO”,“PARED”,“ESPACIO”,“PARED”],                 [“PARED”,“ESPACIO”,“PARED”,“PARED”,“SOL”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“PARED”],                 [“PARED”,“ESPACIO”,“PARED”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“SOL”,“ESPACIO”,“PARED”,“PARED”],                 [“PARED”,“ESPACIO”,“PARED”,“PARED”,“ESPACIO”,“PARED”,“PARED”,“ESPACIO”,“PARED”,“PARED”],                 [“PARED”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“PARED”,“SOL”,“ESPACIO”,“ESPACIO”,“PARED”],                 [“PARED”,“SOL”,“PARED”,“ESPACIO”,“PARED”,“PARED”,“ESPACIO”,“ESPACIO”,“SOL”,“PARED”],                 [“PARED”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“ESPACIO”,“PARED”,“ESPACIO”,“PARED”],                 [“PARED”,“PARED”,“PARED”,“PARED”,“PARED”,“PARED”,“PARED”,“PARED”,“PARED”,“PARED”]]

并将其转换为“String [] [] mapa;” Android Studio中的数组,但我不知道如何阅读和转换它。

我真的很感激你的帮助。

编辑:我试过这样的事,但我不知道如何继续:

  

mapObject.getJSONArray( “映射”)

EDIT2之类的东西?:

  

JSONArray mapatest = mapObject.getJSONArray(“map”);

            String[][] innerArray = null;

            for(int t = 0; t < mapatest.getCount(); t++){

                innerArray[t] = mapatest.getJSONArray(t);

                for(int k = 0; k < innerArray.getCount(); t++){

                    innerArray[t][k] = mapatest.getString(k);

                }
            }

1 个答案:

答案 0 :(得分:1)

虽然mapObejct.getJSONArray(&#34; map&#34;)返回一个数组,其中每个条目都是表格的X,但数组中的每个项目都是一个数组本身(再次是getJSONArray)并且将是你的Y桌子。

代码如下:

forall a

这将导航到i,k,它们将成为你的阵列[i] [k]

编辑:使用您的代码:

map = obj.getJSONArray("map);
for(int i = 0; i < map.getCount(); i++){
   innerArray = map.getJSONArray(i);
   for(int k = 0; k < innerArray.getCount(); i++){
      innerItem = map.getString(k);
   }      
}