Вывод 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);