Помогите парсить json на java

{ "sbook": [ { "idS": "1", "til": "Uzb", "janr": "Ertaklar", "nomi": "Kiyik bilan kadi", "yozuvchi": "Ertak", "rasm": "1.jpg", "likes": "99", "audio": [ { "idA": "1", "aName": "1 Qism", "aAudio": "1.mp3" } ] }, { "idS": "2", "til": "Uzb", "janr": "Ertaklar", "nomi": "Yetim Abilay", "yozuvchi": "Ertak", "rasm": "1.jpg", "likes": "99", "audio": [ { "idA": "1", "aName": "1 Qism", "aAudio": "1.mp3" }, { "idA": "2", "aName": "2 Qism", "aAudio": "2.mp3" } ] }, { "idS": "3", "til": "Uzb", "janr": "Ertaklar", "nomi": "Malikai Husniobod", "yozuvchi": "Ertak", "rasm": "1.jpg", "likes": "99", "audio": [ { "idA": "1", "aName": "1 Qism", "aAudio": "1.mp3" }, { "idA": "2", "aName": "2 Qism", "aAudio": "2.mp3" }, { "idA": "3", "aName": "3 Qism", "aAudio": "3.mp3" } ] }, { "idS": "4", "til": "Uzb", "janr": "Ertaklar", "nomi": "Tulki bilan Turna", "yozuvchi": "Ertak", "rasm": "1.jpg", "likes": "99", "audio": [ { "idA": "1", "aName": "1 Qism", "aAudio": "1.mp3" } ] } ], "users": [] }

class AModel {

private int idS;
private String til;
private String janr;
private String nomi;
private String yozuvchi;
private String rasm;
private int likes;
List<AAudio> audio;

public AModel(int idS, String til, String janr, String nomi, String yozuvchi, String rasm, int likes, List<AAudio> audio) {
    this.idS = idS;
    this.til = til;
    this.janr = janr;
    this.nomi = nomi;
    this.yozuvchi = yozuvchi;
    this.rasm = rasm;
    this.likes = likes;
    this.audio = audio;

}

public int getIdS() {
    return idS;
}

public String getTil() {
    return til;
}

public String getJanr() {
    return janr;
}

public String getNomi() {
    return nomi;
}

public String getYozuvchi() {
    return yozuvchi;
}

public String getRasm() {
    return rasm;
}

public int getLikes() {
    return likes;
}

public List<AAudio> getAudio() {
    return audio;
}
}

class AAudio {

private String idA;
private String aName;
private String aAudio;

public AAudio(String idA, String aName, String aAudio) {
    this.idA = idA;
    this.aName = aName;
    this.aAudio = aAudio;
}

public String getIdA() {
    return idA;
}

public String getaName() {
    return aName;
}

public String getaAudio() {
    return aAudio;
}

}


public class GenreCollectionView extends AppCompatActivity implements GenreAdapter.OnItemClickListener {
public static final String EXTRA_IDS = "idS";
public static final String EXTRA_NOMI = "nomi";
public static final String EXTRA_YOZUVCHI = "yozuvchi";
public static final String EXTRA_RASM = "rasm";

TextView topNavName;
ImageButton topBackImageButtonActivityGenre;
ImageButton topFilterGenre;
ImageButton topSearchGenre;
ImageButton genreClose;
LinearLayout genreTopNavBar;
RelativeLayout genreRelSearchBar;
SearchView genreSearchBar;

private RecyclerView genreRecyclerView;
private GenreAdapter genreAdapter;
private ArrayList<AModel> modelList;
private RequestQueue gRequestQueue;

private static final String TAG = "MyLogs";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_genre_collection_view);

    Intent genreNameIntent = getIntent();
    final String LName = genreNameIntent.getStringExtra("selectedName");

    topNavName = findViewById(R.id.genreNavTopText);
    topNavName.setText(LName);

    topBackImageButtonActivityGenre = findViewById(R.id.topBackActivityGenre);
    topBackImageButtonActivityGenre.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            finish();
        }
    });

    topFilterGenre = findViewById(R.id.topFilterGenre);
    topFilterGenre.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View viewF) {

            PopupMenu popupMenu = new PopupMenu(GenreCollectionView.this, viewF);
            popupMenu.inflate(R.menu.filter_navigation_menu);
            popupMenu.show();
            popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem menuItem) {
                    switch (menuItem.getItemId()) {
                        case R.id.yangi:
                            return true;
                        case R.id.zorlari:
                            return true;
                        default:
                            return false;
                    }
                }
            });
        }
    });

    topSearchGenre = findViewById(R.id.topSearchGenre);
    genreClose = findViewById(R.id.genreClose);
    genreTopNavBar = findViewById(R.id.genreTopNavBar);
    genreRelSearchBar = findViewById(R.id.genreRelSearchBar);
    genreSearchBar = findViewById(R.id.genreSearchBar);

    genreRelSearchBar.setVisibility(View.INVISIBLE);

    topSearchGenre.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            genreTopNavBar.setVisibility(View.INVISIBLE);
            genreRelSearchBar.setVisibility(View.VISIBLE);
        }
    });

    genreClose.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            genreTopNavBar.setVisibility(View.VISIBLE);
            genreRelSearchBar.setVisibility(View.INVISIBLE);
        }
    });

    genreRecyclerView = findViewById(R.id.genreRecyclerView);
    genreRecyclerView.setHasFixedSize(true);
    genreRecyclerView.setLayoutManager(new LinearLayoutManager(this));

    GridLayoutManager gridLayoutManager = new GridLayoutManager(getApplicationContext(),2);
    genreRecyclerView.setLayoutManager(gridLayoutManager);

    modelList = new ArrayList<>();

    gRequestQueue = Volley.newRequestQueue(this);

    jsonParse();

    genreSearchBar.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            Toast.makeText(GenreCollectionView.this,s,Toast.LENGTH_SHORT).show();
            return true;
        }
    });

    BottomNavigationView bottomNavigationView = findViewById(R.id.bottomNavViewBar);
    BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);
    Menu menu = bottomNavigationView.getMenu();
    MenuItem menuItem = menu.getItem(0);
    menuItem.setChecked(true);
    bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener()

    {
        @Override
        public boolean onNavigationItemSelected (@NonNull MenuItem item){
            switch (item.getItemId()) {
                case R.id.catalog:
                    break;
                case R.id.library:
                    finish();
                    Intent intentCatalog = new Intent(GenreCollectionView.this, Library.class);
                    startActivity(intentCatalog);
                    break;
                case R.id.openBook:
                    Toast.makeText(getApplicationContext(),"Ashula Oynasi Genre",Toast.LENGTH_SHORT).show();
                    break;
                case R.id.setting:
                    finish();
                    Intent intentSetting = new Intent(GenreCollectionView.this, Settings.class);
                    startActivity(intentSetting);
                    break;
            }
            return false;
        }
    });
}

private void jsonParse() {
    String ROOT_URL = "https.json";

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, ROOT_URL, null,
            new com.android.volley.Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    try {

                        JSONArray jsonArrayI = response.getJSONArray("sbook");
                        for (int i = 0; i < jsonArrayI.length(); i++) {

                            JSONObject sbook = jsonArrayI.getJSONObject(i);
                            int idS = sbook.getInt("idS");
                            String til = sbook.getString("til");
                            String janr = sbook.getString("janr");
                            String nomi = sbook.getString("nomi");
                            String yozuvchi = sbook.getString("yozuvchi");
                            String rasm = sbook.getString("rasm");
                            int likes = sbook.getInt("likes");


                            JSONArray jsonArrayJ = response.getJSONArray("audio");
                            for (int j = 0; j < jsonArrayJ.length(); j++) {

                                JSONObject audio = jsonArrayI.getJSONObject(j);
                                int idA = audio.getInt("idA");
                                String aName = audio.getString("aName");
                                String aAudio = audio.getString("aAudio");

                                modelList.add(new AModel(idS, til, janr, nomi, yozuvchi, rasm, likes ^^ Суда как подключит 2 таблицу^^));

                            }
                        }
                        genreAdapter = new GenreAdapter(GenreCollectionView.this, modelList);
                        genreRecyclerView.setAdapter(genreAdapter);
                        genreAdapter.setOnItemClickListener(GenreCollectionView.this);

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new com.android.volley.Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });
    gRequestQueue.add(request);
}

@Override
public void onItemClick(int i) {
    Intent detailIntent = new Intent(this, DetailView.class);
    AModel clickedItem = modelList.get(i);

    detailIntent.putExtra(EXTRA_IDS, clickedItem.getIdS());
    detailIntent.putExtra(EXTRA_NOMI, clickedItem.getNomi());
    detailIntent.putExtra(EXTRA_YOZUVCHI, clickedItem.getYozuvchi());
    detailIntent.putExtra(EXTRA_RASM, clickedItem.getRasm());

    startActivity(detailIntent);

}
}

Ответы (0 шт):