Вывод JSON android

Я пытаюсь получить расписание из json. Но объект json без названия. Вот код:

 private void getRaspisanie() {
  arrayList = new ArrayList<>();
    refreshLayout.setRefreshing(true);
     StringRequest request= new StringRequest(Request.Method.GET, 
      Constant.RS, response -> {

       try {
           JSONObject object = new JSONObject(response);

     
               raspAdapter = new RaspAdapter(getContext(), arrayList);
               recyclerView.setAdapter(raspAdapter);
           }

и мой json ответ:

[
{
    "para": "21",
    "predmet": "Экология",
    "lector": "Русланов А ",
    "auditoriya": "213",
    "primo": "ПЗ",
    "date": "29.10.2019"
},
{
    "para": "31",
    "predmet": "Экология",
    "lector": "Русланов А ",
    "auditoriya": "109",
    "primo": "ЛК",
    "date": "29.10.2019"
},

]

Помогите пожалуйста, как мне получить расписание по дням? Java ругает меня так: type org.json.JSONArray cannot be converted to JSONObject


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

Автор решения: Андроид Андроид

У вас рут это JSONArray, а не JSONObject. Соответственно исправьте на JSONArray array = new JSONArray(response);

Ну и цикл будет что-то в духе:

for (int i = 0; i < array.length(); i++) {
    JSONObject object = array.getJSONObject(i);
    TRaspisanie tRaspisanie = new TRaspisanie();
    tRaspisanie.setPara(object.getString("para"));
    //..
}
→ Ссылка
Автор решения: Barmaley

Можно еще проще:

import com.google.gson.*;

public class Raspisanie {
 private String para;
 private String predmet;
 private String lector;
 private String auditoriya;
 private String primo;
 private String date;
}

Gson gson = new Gson();
Raspisanie[] raspisanieArray = gson.fromJson(raspisanieJson, Raspisanie[].class);  
→ Ссылка