title: Json array and object inside json object
body: <pre><code>{
      "status": 200,
      "message": "API executed successfully.",
      "data": [{
          "data": [{
              "shopToken": "NQ2",
              "Id": 5,
              "UserId": 5,
              "ShopName": "test",
              "ContactName": "test",
              "ContactNumber": "test",
              "Address": null,
              "IsActive": true,
              "OwnerName": "Test"
          }],
          "recordsFiltered": 1,
          "recordsTotal": 1,
          "draw": 0,
          "pageIndex": 0,
          "pageSize": 1
      }]
  }
  </code></pre>
  
  <p>How can I parse this JSON in Android?</p>
  
  <pre><code>@Override
  protected String doInBackground(Void... voids) {
      OkHttpClient client = new OkHttpClient.Builder().connectTimeout(5, TimeUnit.MINUTES)
          .readTimeout(5, TimeUnit.MINUTES)
          .build();
  
      Request request = new Request.Builder()
          .url(Config.GLOPOSNET_URL+"getShops?userToken=NQ2")
          .build();
  
      try {
          Response response = client.newCall(request).execute();
          String res = response.body().string();
  
                  try {
                      JSONObject joa = new JSONObject(res);
                      int status = joa.getInt("status");
                      msg = joa.getString("message");
                      System.out.println("status : "+status);
  
                      if (status == 200){
                          JSONArray infoa = joa.getJSONArray("data");
                          for (int i=0; i&lt;=infoa.length(); i++){
                              JSONObject johaa = infoa.getJSONObject(i);
                              System.out.println("object=== "+johaa.toString());
  
                              ModelClassShopList pstShopList = new ModelClassShopList();
                              pstShopList.getShopToken();
                              pstShopList.getId(johaa.getInt("Id"));
                              pstShopList.getUserId(johaa.getString("UserId"));
                              pstShopList.getShopName(johaa.getString("ShopName"));
                              pstShopList.getContactName(johaa.getString("ContactName"));
                              pstShopList.getContactNumber(johaa.getString("ContactNumber"));
                              pstShopList.getAddress(johaa.getString("Address"));
                              pstShopList.getOwnerName(johaa.getString("OwnerName"));
  
                              String shop_token = pstShopList.getShopToken();
                              String user_name = pstShopList.getShopName(johaa.getString("UserId"));
                              String user_type = pstShopList.getContactName(johaa.getString("UserId"));
                              String user_addres = pstShopList.getContactNumber(johaa.getString("UserId"));
  
  
                              System.out.println("shop token=== "+shop_token);
  
                              SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE);
                              SharedPreferences.Editor editor = pref.edit();
                              editor.putString(Config.SHOP_TOKEN, shop_token);
                              editor.commit();
                          }
                      }else {
                          AlertDialog.Builder builder;
                          if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.LOLLIPOP) {
                              builder = new AlertDialog.Builder(MainActivity.this, android.R.style.Theme_Material_Light_Dialog_Alert);
                              builder.setMessage(""+msg);
                              builder.setCancelable(false);
                              builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
  
                                  @Override
                                  public void onClick(DialogInterface dialog, int which) {
                                      dialog.dismiss();
                                  }
                              });
                              builder.show();
                          }
                      }
  
  
                  } catch (JSONException e) {
                      e.printStackTrace();
                  }
                  return res;
  
              } catch (IOException e) {
                  e.printStackTrace();
              }
  
              return null;
          }
  </code></pre>