Nested JSON Object Parsing using volley display data in list in android

{
"data": {
    "1": {
        "id": 1, 
        "name": "Bitcoin", 
        "symbol": "BTC", 
        "website_slug": "bitcoin", 
        "rank": 1, 
        "circulating_supply": 17034587.0, 
        "total_supply": 17034587.0, 
        "max_supply": 21000000.0, 
        "quotes": {
            "USD": {
                "price": 8746.94, 
                "volume_24h": 7090900000.0, 
                "market_cap": 149000510414.0, 
                "percent_change_1h": 0.26, 
                "percent_change_24h": 3.52, 
                "percent_change_7d": -5.95
            }
        }, 
        "last_updated": 1526378073
    }, 
    "1027": {
        "id": 1027, 
        "name": "Ethereum", 
        "symbol": "ETH", 
        "website_slug": "ethereum", 
        "rank": 2, 
        "circulating_supply": 99447373.0, 
        "total_supply": 99447373.0, 
        "max_supply": null, 
        "quotes": {
            "USD": {
                "price": 732.296, 
                "volume_24h": 2774120000.0, 
                "market_cap": 72824913572.0, 
                "percent_change_1h": 0.27, 
                "percent_change_24h": 3.13, 
                "percent_change_7d": -2.18
            }
        }, 
        "last_updated": 1526378058
    }, 
    "52": {
        "id": 52, 
        "name": "Ripple", 
        "symbol": "XRP", 
        "website_slug": "ripple", 
        "rank": 3, 
        "circulating_supply": 39189968239.0, 
        "total_supply": 99992233977.0, 
        "max_supply": 100000000000.0, 
        "quotes": {
            "USD": {
                "price": 0.742387, 
                "volume_24h": 505216000.0, 
                "market_cap": 29094122951.0, 
                "percent_change_1h": -0.05, 
                "percent_change_24h": 1.68, 
                "percent_change_7d": -10.01
            }
        }, 
        "last_updated": 1526378043
    }, 
    "1831": {
        "id": 1831, 
        "name": "Bitcoin Cash", 
        "symbol": "BCH", 
        "website_slug": "bitcoin-cash", 
        "rank": 4, 
        "circulating_supply": 17128850.0, 
        "total_supply": 17128850.0, 
        "max_supply": 21000000.0, 
        "quotes": {
            "USD": {
                "price": 1424.08, 
                "volume_24h": 1012290000.0, 
                "market_cap": 24392852708.0, 
                "percent_change_1h": 0.36, 
                "percent_change_24h": 1.74, 
                "percent_change_7d": -12.28
            }
        }, 
        "last_updated": 1526378053
    }, 
    "1765": {
        "id": 1765, 
        "name": "EOS", 
        "symbol": "EOS", 
        "website_slug": "eos", 
        "rank": 5, 
        "circulating_supply": 856949410.0, 
        "total_supply": 900000000.0, 
        "max_supply": 1000000000.0, 
        "quotes": {
            "USD": {
                "price": 14.2273, 
                "volume_24h": 1414710000.0, 
                "market_cap": 12192076335.0, 
                "percent_change_1h": 0.01, 
                "percent_change_24h": 0.94, 
                "percent_change_7d": -22.52
            }
        }, 
        "last_updated": 1526378052
    }, 
    "2": {
        "id": 2, 
        "name": "Litecoin", 
        "symbol": "LTC", 
        "website_slug": "litecoin", 
        "rank": 6, 
        "circulating_supply": 56539988.0, 
        "total_supply": 56539988.0, 
        "max_supply": 84000000.0, 
        "quotes": {
            "USD": {
                "price": 146.279, 
                "volume_24h": 547315000.0, 
                "market_cap": 8270612854.0, 
                "percent_change_1h": 0.53, 
                "percent_change_24h": 6.42, 
                "percent_change_7d": -10.19
            }
        }, 
        "last_updated": 1526378042
    }, 
    "2010": {
        "id": 2010, 
        "name": "Cardano", 
        "symbol": "ADA", 
        "website_slug": "cardano", 
        "rank": 7, 
        "circulating_supply": 25927070538.0, 
        "total_supply": 31112483745.0, 
        "max_supply": 45000000000.0, 
        "quotes": {
            "USD": {
                "price": 0.275307, 
                "volume_24h": 121691000.0, 
                "market_cap": 7137904009.0, 
                "percent_change_1h": 0.25, 
                "percent_change_24h": 1.74, 
                "percent_change_7d": -17.51
            }
        }, 
        "last_updated": 1526378056
    }, 
    "512": {
        "id": 512, 
        "name": "Stellar", 
        "symbol": "XLM", 
        "website_slug": "stellar", 
        "rank": 8, 
        "circulating_supply": 18576712553.0, 
        "total_supply": 103946502380.0, 
        "max_supply": null, 
        "quotes": {
            "USD": {
                "price": 0.368865, 
                "volume_24h": 49160100.0, 
                "market_cap": 6852299076.0, 
                "percent_change_1h": 0.23, 
                "percent_change_24h": 3.02, 
                "percent_change_7d": -6.89
            }
        }, 
        "last_updated": 1526378044
    }, 
    "1720": {
        "id": 1720, 
        "name": "IOTA", 
        "symbol": "MIOTA", 
        "website_slug": "iota", 
        "rank": 9, 
        "circulating_supply": 2779530283.0, 
        "total_supply": 2779530283.0, 
        "max_supply": 2779530283.0, 
        "quotes": {
            "USD": {
                "price": 2.02424, 
                "volume_24h": 86295900.0, 
                "market_cap": 5626436380.0, 
                "percent_change_1h": 0.62, 
                "percent_change_24h": 6.22, 
                "percent_change_7d": -14.87
            }
        }, 
        "last_updated": 1526378052
    }, 
    "1958": {
        "id": 1958, 
        "name": "TRON", 
        "symbol": "TRX", 
        "website_slug": "tron", 
        "rank": 10, 
        "circulating_supply": 65748111645.0, 
        "total_supply": 100000000000.0, 
        "max_supply": null, 
        "quotes": {
            "USD": {
                "price": 0.0724187, 
                "volume_24h": 323322000.0, 
                "market_cap": 4761392773.0, 
                "percent_change_1h": 0.32, 
                "percent_change_24h": -0.33, 
                "percent_change_7d": -12.92
            }
        }, 
        "last_updated": 1526378055
    }
}, 
"metadata": {
    "timestamp": 1526377973, 
    "num_cryptocurrencies": 1610, 
    "error": null
}

}

I'm able to parse very simply, by doing below code like this:

 JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url,
            null, response -> {
                try {
                    for(int i=0;i<response.length();i++) {
                        JSONObject json_data = response.getJSONObject("data");

                        JSONObject json_1 = json_data.getJSONObject("1");
                        String json_name = json_1.getString("name");
                        String symbol = json_1.getString("symbol");
                        int json_circulating_supply = json_1.getInt("circulating_supply");
                        JSONObject json_quotes = json_1.getJSONObject("quotes");
                        JSONObject json_usd = json_quotes.getJSONObject("USD");
                        double json_price = json_usd.getDouble("price");
                        int json_volume = json_usd.getInt("volume_24h");
                        int json_marketcap = json_usd.getInt("market_cap");
                        double json_1h = json_usd.getDouble("percent_change_1h");
                        double json_24h = json_usd.getDouble("percent_change_24h");
                        double json_7d = json_usd.getDouble("percent_change_7d");

                        _1 class_1 = new _1();
                        class_1.setName(json_name);
                        class_1.setSymbol(symbol);
                        class_1.setCirculatingSupply(json_circulating_supply);
                        USD usd = new USD();
                        usd.setPrice(json_price);
                        usd.setVolume24h(json_volume);
                        usd.setMarketCap(json_marketcap);
                        usd.setPercentChange1h(json_1h);
                        usd.setPercentChange24h(json_24h);
                        usd.setPercentChange7d(json_7d);
                        Quotes quotes = new Quotes();
                        quotes.setUSD(usd);
                        class_1.setQuotes(quotes);


                        JSONObject json_1027 = json_data.getJSONObject("1027");
                        String json_name_1027 = json_1027.getString("name");
                        String json_symbol_1027 = json_1027.getString("symbol");
                        String json_circulate_supply_1027 = json_1027.getString("circulating_supply");
                        JSONObject json_quotes_1027 = json_1027.getJSONObject("quotes");
                        JSONObject json_usd_1027 = json_quotes_1027.getJSONObject("USD");
                        double json_price_1027 = json_usd_1027.getDouble("price");
                        int json_volume_1027 = json_usd_1027.getInt("volume_24h");
                        int json_marketcap_1027 = json_usd_1027.getInt("market_cap");
                        double json_1h_1027 = json_usd_1027.getDouble("percent_change_1h");
                        double json_24h_1027 = json_usd_1027.getDouble("percent_change_24h");
                        double json_7d_1027 = json_usd_1027.getDouble("percent_change_7d");

                        _1027 class_1027 = new _1027();
                        class_1027.setName(json_name_1027);
                        class_1027.setSymbol(json_symbol_1027);
                        USD_3 usd_3 = new USD_3();
                        usd_3.setPrice(json_price_1027);
                        usd_3.setVolume24h(json_volume_1027);
                        usd_3.setPercentChange1h(json_1h_1027);
                        usd_3.setPercentChange24h(json_24h_1027);
                        usd_3.setPercentChange7d(json_7d_1027);
                        usd_3.setMarketCap(json_marketcap_1027);
                        Quotes_3 quotes_3 = new Quotes_3();
                        quotes_3.setUSD(usd_3);
                        class_1027.setQuotes(quotes_3);


                        JSONObject json_52 = json_data.getJSONObject("52");
                        String json_name_52 = json_52.getString("name");
                        String json_symbol_52 = json_52.getString("symbol");
                        String json_circulate_supply_52 = json_52.getString("circulating_supply");
                        JSONObject json_quotes_52 = json_52.getJSONObject("quotes");
                        JSONObject json_usd_52 = json_quotes_52.getJSONObject("USD");
                        double json_price_52 = json_usd_52.getDouble("price");
                        int json_volume_52 = json_usd_52.getInt("volume_24h");
                        int json_marketcap_52 = json_usd_52.getInt("market_cap");
                        double json_1h_52 = json_usd_52.getDouble("percent_change_1h");
                        double json_24h_52 = json_usd_52.getDouble("percent_change_24h");
                        double json_7d_52 = json_usd_52.getDouble("percent_change_7d");

                        _52 class_52 = new _52();
                        class_52.setName(json_name_52);
                        class_52.setSymbol(json_symbol_52);
                        USD_1 usd_1 = new USD_1();
                        usd_1.setPrice(json_price_52);
                        usd_1.setVolume24h(json_volume_52);
                        usd_1.setPercentChange1h(json_1h_52);
                        usd_1.setPercentChange24h(json_24h_52);
                        usd_1.setPercentChange7d(json_7d_52);
                        usd_1.setMarketCap(json_marketcap_52);
                        Quotes_1 quotes_1 = new Quotes_1();
                        quotes_1.setUSD(usd_1);
                        class_52.setQuotes(quotes_1);


                        if (data != null) {
                            data.set1(class_1);
                            data.set1027(class_1027);
                            data.set52(class_52);
                            if (dataList != null)
                                //dataList.get(0).set1(class_1);
                                dataList.add(data);
                        }
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                recyclerview = (RecyclerView)view.findViewById(R.id.recyclerview);
                RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false);
                recyclerview.setLayoutManager(layoutManager);
                recyclerview.setHasFixedSize(true);
                bitcoin_adapter = new Bitcoin_Adapter(getActivity(),dataList);
                recyclerview.setAdapter(bitcoin_adapter);
            }, error -> {

            });
    queue.add(jsonObjectRequest);
}

public class Bitcoin_Adapter extends RecyclerView.Adapter{
private Context context;
private List<Data> dataList = new ArrayList<>();
private Data  data = new Data();

public Bitcoin_Adapter(Context context, List<Data> dataList) {
    this.context = context;
   this.dataList = dataList;
}
public class MyViewHolder extends RecyclerView.ViewHolder {
    public TextView name_text,symbol_text,martketcap_text,price_text,circulateSupply_text,
            volume_text,oneHour_text,twentyfour_text,sevendays_text;
    public Data data;
    public MyViewHolder(View itemView) {
        super(itemView);
        name_text = (TextView)itemView.findViewById(R.id.text_name);
        symbol_text = (TextView)itemView.findViewById(R.id.name_symbol_real_text);
        price_text = (TextView)itemView.findViewById(R.id.price_text);
        martketcap_text = (TextView)itemView.findViewById(R.id.market_price_text);
        circulateSupply_text = (TextView)itemView.findViewById(R.id.circulatesupply);
        volume_text = (TextView)itemView.findViewById(R.id.volu_text);
        oneHour_text = (TextView)itemView.findViewById(R.id.one_hour_text);
        twentyfour_text = (TextView)itemView.findViewById(R.id.twentyfour_hour_text);
        sevendays_text = (TextView)itemView.findViewById(R.id.sevendays_text);

    }
}

@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(context).inflate(R.layout.list_items,parent,false);
    MyViewHolder myViewHolder = new MyViewHolder(view);
    return myViewHolder;
}

@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
    data = dataList.get(position);
    switch (holder.getAdapterPosition()){
        case 0:
            //((MyViewHolder)holder).name_text.setText(data.get1027().getName());
        ((MyViewHolder)holder).name_text.setText(dataList.get(position).get1().getName());
        ((MyViewHolder)holder).symbol_text.setText(dataList.get(position).get1().getSymbol());
            ((MyViewHolder)holder).circulateSupply_text.setText(String.valueOf(data.get1().getCirculatingSupply()));
        if(data != null && data.get1() != null && data.get1().getQuotes() != null && data.get1().getQuotes().getUSD() != null){
            ((MyViewHolder)holder).martketcap_text.setText(String.valueOf(data.get1().getQuotes().getUSD().getMarketCap()));

            ((MyViewHolder)holder).price_text.setText(String.valueOf(data.get1().getQuotes().getUSD().getMarketCap()));

            ((MyViewHolder)holder).volume_text.setText(String.valueOf(data.get1().getQuotes().getUSD().getVolume24h()));

            double percentage_1h = data.get1().getQuotes().getUSD().getPercentChange1h();
            ((MyViewHolder)holder).oneHour_text.setText(String.valueOf(data.get1().getQuotes().getUSD().getPercentChange1h()));
            ((MyViewHolder)holder).twentyfour_text.setText(String.valueOf(data.get1().getQuotes().getUSD().getPercentChange24h()));
            ((MyViewHolder)holder).sevendays_text.setText(String.valueOf(data.get1().getQuotes().getUSD().getPercentChange24h()));
        }
        break;
        case 1:
            ((MyViewHolder)holder).name_text.setText(data.get1027().getName());
            ((MyViewHolder)holder).symbol_text.setText(data.get1027().getSymbol());
            if(data != null && data.get1027() != null && data.get1027().getQuotes() != null && data.get1027().getQuotes().getUSD() != null){
                ((MyViewHolder)holder).martketcap_text.setText(String.valueOf(data.get1027().getQuotes().getUSD().getMarketCap()));

                ((MyViewHolder)holder).price_text.setText(String.valueOf(data.get1027().getQuotes().getUSD().getMarketCap()));

                ((MyViewHolder)holder).volume_text.setText(String.valueOf(data.get1027().getQuotes().getUSD().getVolume24h()));

                double percentage_1h = data.get1027().getQuotes().getUSD().getPercentChange1h();
                ((MyViewHolder)holder).oneHour_text.setText(String.valueOf(data.get1027().getQuotes().getUSD().getPercentChange1h()));
                ((MyViewHolder)holder).twentyfour_text.setText(String.valueOf(data.get1027().getQuotes().getUSD().getPercentChange24h()));
                ((MyViewHolder)holder).sevendays_text.setText(String.valueOf(data.get1027().getQuotes().getUSD().getPercentChange24h()));
            }
            break;
        case 2:
            ((MyViewHolder)holder).name_text.setText(data.get52().getName());
            ((MyViewHolder)holder).symbol_text.setText(data.get52().getSymbol());
            if(data != null && data.get52() != null && data.get52().getQuotes() != null && data.get52().getQuotes().getUSD() != null){
                ((MyViewHolder)holder).martketcap_text.setText(String.valueOf(data.get52().getQuotes().getUSD().getMarketCap()));

                ((MyViewHolder)holder).price_text.setText(String.valueOf(data.get52().getQuotes().getUSD().getMarketCap()));

                ((MyViewHolder)holder).volume_text.setText(String.valueOf(data.get52().getQuotes().getUSD().getVolume24h()));

                double percentage_1h = data.get52().getQuotes().getUSD().getPercentChange1h();
                ((MyViewHolder)holder).oneHour_text.setText(String.valueOf(data.get52().getQuotes().getUSD().getPercentChange1h()));
                ((MyViewHolder)holder).twentyfour_text.setText(String.valueOf(data.get52().getQuotes().getUSD().getPercentChange24h()));
                ((MyViewHolder)holder).sevendays_text.setText(String.valueOf(data.get52().getQuotes().getUSD().getPercentChange24h()));
            }
            default:
    }
    ((MyViewHolder)holder).data = data;
}

@Override
public int getItemCount() {
    if(dataList != null){
        return dataList.size();
    }else {
        return 0;
    }

}

}

I think am doing as static with parsing data with json key id's, so that is not correct getting data using of volley, how can i parse in list view as dynamic using volley? when i used "jsonschema2pojo site" , this site gave 9 model classes? so any way I parsed data with key id's of 1 and 1027 then if parse with other keys , it will going a big code? so My question is : how can i get that key id's data in listview and how can i implement as dynamic?? in adapter also used switch case ,I thought if using switch as per json key id's it will be going to increasing big coding ? so how can i get data in listview please helm me?