Помогите , немогу реализовать 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 в адаптере лучше создавать пустой список сразу при объявлении, а потом наполнять данными.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста, как правильно будет реализоватьУ меня имеется окно закрытия приложения (при нажатии на кнопку назад из главного экрана...
Пытаюсь убрать пробелы из строки, но ничего не происходит
Пытаюсь подключиться к базе запущенной из XAMPP с другого компьютера по локалкеАдрес сервера 192
Друзья! Я понял как работают сеттеры, геттеры и конструкторыНо не понял одну вещь: