2017-01-30 2 views
0
{ 
    "LIST": [ 
    { 
     "GroupName": "گالری", 
     "GroupID": "1", 
     "GType": "gallery1", 
     "list": [ 
     { 
      "Title": "food", 
      "RefType": "app", 
      "PicUrl": "http://tv.dmedia.ir/images/icon/slide2.jpg", 
      "RefID": "194" 
     }, 
     { 
      "Title": "drink ", 
      "RefType": "app", 
      "PicUrl": "http://tv.dmedia.ir/images/icon/slide1.jpg", 
      "RefID": "199" 
     } 
     ] 
    }, 
    { 
     "GroupName": "ویدئوهای برگزیده", 
     "GroupID": "2", 
     "GType": "apk", 
     "list": [ 
     { 
      "AppID": "333", 
      "Packname": "shadkami", 
      "AppName": "شادکامی و مثبت اندیشی", 
      "AppSize": 13066, 
      "VersionCode": "0", 
      "IconURL": "http://tv.dmedia.ir/paneluser/uploads/files/113.f402cee9889beb52e844012aec28ab0d.mp4/icon/becc1783d1263730b177317f4950f187.jpg", 
      "IconURL2": "", 
      "Specials": "0", 
      "DownloadsCount": "0", 
      "LikesCount": "0", 
      "GroupID": "16", 
      "AppPrice": 0, 
      "AppAutor": null, 
      "AppRate": 0, 
      "GroupType": "1" 
     }, 
     { 
      "AppID": "332", 
      "Packname": "afzayeshetemad", 
      "AppName": "افزایش اعتماد به نفس", 
      "AppSize": 25132, 
      "VersionCode": "0", 
      "IconURL": "http://tv.dmedia.ir/paneluser/uploads/files/113.b52e30b721705d884832ffc7aa533375.mp4/icon/63c178ab34267b3e25691a7c1b6914c8.jpg", 
      "IconURL2": "", 
      "Specials": "0", 
      "DownloadsCount": "0", 
      "LikesCount": "0", 
      "GroupID": "16", 
      "AppPrice": 0, 
      "AppAutor": null, 
      "AppRate": 0, 
      "GroupType": "1" 
     } 
     ] 
    } 
    ] 
} 

try { 
     JSONObject object = new JSONObject(respond); 

     JSONArray jsonArrayLIST = object.getJSONArray("LIST"); 

     ArrayList<ListViewMain> listmain = new ArrayList<>(); 

     ListViewMainAdapter adapter = new ListViewMainAdapter(MainActivity.this, R.layout.list_view_main, listmain); 
     list_view_main.setAdapter(adapter); 

     for (int i = 0; i < jsonArrayLIST.length(); i++) { 

      JSONObject objectLIST = jsonArrayLIST.getJSONObject(i); 

      JSONArray jsonArraylist = objectLIST.getJSONArray("list"); 

      Toast.makeText(MainActivity.this, jsonArraylist.toString(), Toast.LENGTH_SHORT).show(); 

      for (int j = 0; j < jsonArraylist.length(); j++) { 

       JSONObject objectlist = jsonArraylist.getJSONObject(j); 

       String Packname= objectlist.getString("Packname"); 

       Log.i("Log", "SHOW Packname " + Packname); 

       listmain.add(new ListViewMain(Packname)); 

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

В не может получить строковое значение в третьем Arraylist "список": [потому что такое же имя с "список" Второй ArrayList: [.Как разбирать вложенные последние массивы JSON в одном объекте без разбора второго JsonArray в Android?

Но когда я тост второй ArrayList, я вижу Второй, третий Arraylist, но я не могу получить третье значение String и ничего не показывать в Log или моем ListView или Toast String Value как я могу получить доступ к Packname?

+0

у вас нет 'Packname' на первом СПИСКА JSon, попробуйте использовать условные' если (objectlist.has ("Packname") {String Packname = objectlist.getString ("Packname");} ' –

+0

Я добавил ответ, чтобы вы могли легко скопировать –

ответ

0

у вас есть в вашем первом массиве нет Packname, пожалуйста, пересмотреть этот

for (int j = 0; j < jsonArraylist.length(); j++) { 
    JSONObject objectlist = jsonArraylist.getJSONObject(j); 
    if(objectlist.has("Packname")){ 
    String Packname= objectlist.getString("Packname"); 
    Log.i("Log", "SHOW Packname " + Packname); 
    listmain.add(new ListViewMain(Packname)); 
    } 
} 
adapter.notifyDataSetChanged(); 

пожалуйста попробуйте это

+0

oh спасибо, что вы его работа в if statement i select Какое значение мне нужно в Array спасибо за ответ –