2017-09-13 151 views
-3
{ 
"images": [ 
    [ 
     2, 
     "91/914fbbb8694ba1865b7bf3da0cc7ec512a0630dcf16c3f8347b6b4d3.png", 
     760, 
     3910 
    ], 
    [ 
     1, 
     "6c/6c9f754578229fb925cb80033cced89ff3ff56795fc50899d3718725.png", 
     760, 
     5242 
    ], 
    [ 
     0, 
     "44/446c0ce1047fd617ee086aaa21277229f21b0d29a753c8e3a0df8ca0.png", 
     760, 
     1080 
    ] 
]} 

**需要访问数据的每个阵列内的图像阵列...如何获得这些数据输入到一个数组列表**如何从Json数组中解析和获取Json数组中的数据?

+0

可以说一个变量JSON是该对象。你可以通过查询'json.images [2] [3]' –

+0

来选择1080.我认为应该避免使用任何数组,第一个元素是数字,第二个元素是一个字符串,然后第三个和第四个元素是数字。那里没有类型一致性。 – samAlvin

+0

为什么倒票? –

回答

1

试试这个

ArrayList<String> arrayList = new ArrayList<>(); 
JSONObject jsonObject= new JSONObject("response"); 
JSONArray myArray = jsonObject.optJSONArray("images");; 

for (int j = 0; j < myArray.length(); j++) { 
    try { 
      JSONArray jsonarray = myArray.optJSONArray(j); 
      for (int i = 0; i < jsonarray.length(); i++){ 
       String data = jsonarray.getString(j); 
       Log.e("PHOTOS_URL", i + "=" + data); 
       arrayList.add(data); 
      } 

     } catch (JSONException e) { 
       e.printStackTrace(); 
     } 

    } 
+0

谢谢你会尝试一下:) – Santhosh

+0

@Nilesh反应是JSONObject的,那么你怎么能解析它哟jsonarray? –

+0

@ShashwatGupta我的错误只是chech更新ans我只是更新我的ans请检查它 –

1

假设你有jsonResponse是响应

然后JSONObject jsonObject = new JSONObject(responce);

然后JSONArray imagejsonArray=jsonObject.optJSONArray("images");

则:

for(int i = 0; i < imagejsonArray.length(); i++){ 
JSONArray jsonarray=imagejsonArray.optJSONArray(i); 

} 

现在的对象JSON数组是你最后的jsonarray解析