Помогите , немогу реализовать Json код . Мне нужно взять данные но немогу понять как .... можете мне прописать этот код.....
Json лежит в папке assets/json/dannye.json
Вот реализатор класс
public class Utility {
public static String getFileContent(Context context) throws IOException {
InputStream inputStream = context.getAssets().open("json/dannye.json");
StringBuilder rawContentBuilder = new StringBuilder();
byte[] buffer = new byte[1024];
inputStream.read(buffer);
do {
String chunk = new String(buffer);
rawContentBuilder.append(chunk);
} while (inputStream.read(buffer) > 0);
return rawContentBuilder.toString();
}
}
А вот так я его беру из класса Фрагмент
private List<Dannye> initData() {
try {
String rawJson = Utility.getFileContent(getContext());
JSONObject(rawJson).getJSONArray(groupName);
JSONArray group = new JSONObject(rawJson).getJSONArray("d_1_18");
Log.e(TAG, "initializeHeroes: " + group);
list = new ArrayList<>();
for (int i = 0; i < group.length(); i++) {
JSONObject hero = group.getJSONObject(i);
String hour = hero.getString("hour");
String lesson = hero.getString("lesson");
String spes = hero.getString("spes");
String aut = hero.getString("aut");
Dannye dannye = new Dannye(hour, lesson, spes, aut);
list.add(dannye);
}
} catch (IOException e) {
System.out.println("NO bATTLE.JSON!!!");
} catch (JSONException e) {
System.out.println("JSON MALFoRMEEEED!!");
}
return list;
}
Как мне прописать код чтоб взять данные у меня ошибка NullpointExeption
Вот собственно Json
{
"d_1_18": {
"Monday": [{
"hour": "08:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "09:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "11:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "12:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "14:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "15:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "17:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
}],
"Tuesday": [{
"hour": "08:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "09:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "11:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "12:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "14:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "15:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "17:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
}]
},
"d_2_18": {
"Monday": [{
"hour": "08:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "09:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "11:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "12:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "14:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "15:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "17:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
}],
"Tuesday": [{
"hour": "08:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "09:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "11:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "12:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "14:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "15:30",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
},{
"hour": "17:00",
"lesson": "Informatika",
"spes": "prog",
"aut": "105"
}]
}
}
d_1_18 - у Вас объект (фигурные скобки{}), а массив Monday (угловые[]), значит код должен быть таким:
JSONArray group = new JSONObject(rawJson).getJSONObject("d_1_18").getJSONArray("Monday");
P.S. Чтобы не получать NPE в адаптере лучше создавать пустой список сразу при объявлении, а потом наполнять данными.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости