Нужна помощь с Java + JSON.Привет всем!Мне нужно отсортировать данные по названию песни и обеспечить обработку исключительных ситуаций.Мне нужно написать метод, который сортирует данные из файла JSON.Этот метод также должен иметь возможность сортировать данные, например, с теми же полями.Разбор этого файла работает.Но он имеет структуру:
{
"musicAlbum": [
{
"groupname": "twenty one pilots",
"songduration": 3.27,
"songname": "Heathens"
},
{
"groupname": "twenty one pilots",
"songduration": 4.4,
"songname": "Car Radio"
},
{
"groupname": "Linkin Park",
"songduration": 3.06,
"songname": "Numb"
}
]
}
, и я не знаю, как получить какой-либо элемент из массива объектов.Например, когда я пытаюсь сделать: .getSongName (), я получаю «null».
У меня есть класс Record with String groupName;String songName;и двойной songDuration;все гетеры и сеттеры.Также класс JsonParser с методом разбора.И MusicAlbum класс со списком альбомов.А также класс с main:
import java.io.IOException;
import java.util.List;
public class App {
public static void main(String[] args) throws IOException // exception to be
handled
{
List<Record> album = JsonParser.parseJson();
System.out.println(album);
for (int i = 0; i < album.size(); i++) {
System.out.println(album.get(i));
}
Record songName = new Record();
System.out.println(songName);
System.out.println(songName.getSongName());
}
}
Что у меня сейчас в консоли:
[MusicAlbum [album=[Record [groupName=twenty one pilots, songName=Heathens, songDuration=3.27] , Record [groupName=twenty one pilots, songName=Car Radio, songDuration=4.4] , Record [groupName=Linkin Park, songName=Numb, songDuration=3.06] , Record [groupName=Lana Del Rey, songName=Summertime sadness, songDuration=3.56] , Record [groupName=Imagine Dragons, songName=Thunder, songDuration=3.24] , Record [groupName=Three Days Grace, songName=Outsider, songDuration=2.43] , Record [groupName=ONUKA, songName=When I Met You, songDuration=4.04] , Record [groupName=Foster The People, songName=Best Friend, songDuration=4.25] , Record [groupName=Massive Attack, songName=Angel, songDuration=6.18] , Record [groupName=Florence + The Machine, songName=Big God, songDuration=4.28] , Record [groupName=Die antwoord, songName=banana brain, songDuration=7.12] , Record [groupName=Coldplay, songName=Hypnotised, songDuration=5.54] ]]]
MusicAlbum [album=[Record [groupName=twenty one pilots, songName=Heathens, songDuration=3.27] , Record [groupName=twenty one pilots, songName=Car Radio, songDuration=4.4] , Record [groupName=Linkin Park, songName=Numb, songDuration=3.06] , Record [groupName=Lana Del Rey, songName=Summertime sadness, songDuration=3.56] , Record [groupName=Imagine Dragons, songName=Thunder, songDuration=3.24] , Record [groupName=Three Days Grace, songName=Outsider, songDuration=2.43] , Record [groupName=ONUKA, songName=When I Met You, songDuration=4.04] , Record [groupName=Foster The People, songName=Best Friend, songDuration=4.25] , Record [groupName=Massive Attack, songName=Angel, songDuration=6.18] , Record [groupName=Florence + The Machine, songName=Big God, songDuration=4.28] , Record [groupName=Die antwoord, songName=banana brain, songDuration=7.12] , Record [groupName=Coldplay, songName=Hypnotised, songDuration=5.54] ]]
Record [groupName=null, songName=null, songDuration=0.0]
null
И я понятия не имею, что делать и как написать метод дляполучение данных.
Спасибо за любую помощь с этим методом!