Как парсить JSON

Мне необходимо из моего JSON взять только названия песен из songs. Подскажите как сделать это в этом JSON файле(исходник на JSON хранится здесь(http://myradio24.com/users/85276/status.json). Я попытался его отформатировать, но это мой первый опыт с JSON):

"playlist":"\/",
"streams":[
  {
     "mount":"85276",
     "user":"85276",
     "kbps":128,
     "format":"mp3",
     "url":"https:\/\/myradio24.org\/85276"
  }
],
"rank":[
  [
     "admin",
     0,
     0,
     0,
     "img\/noavatar.jpg"
  ]
],
"songs":[
  [
     "13:36:27",
     "Goro-Road",
     "img\/nocover.jpg",
     3628123713
  ],
  [
     "13:38:38",
     "PAVELB4H-\u041c\u043d\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0431\u044b-kissvk.com",
     "img\/nocover.jpg",
     2278055077
  ],
  [
     "13:40:50",
     "BRANYA- MACAN-\u041f\u043e\u043f\u043e\u043b\u0430\u043c-kissvk.com",
     "img\/nocover.jpg",
     3979166470
  ],
  [
     "13:43:14",
     "Goro-NoFly",
     "img\/nocover.jpg",
     2455695835
  ],
  [
     "13:45:37",
     "Goro-Road",
     "img\/nocover.jpg",
     3628123713
  ],
  [
     "13:47:53",
     "PAVELB4H-\u041c\u043d\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0431\u044b-kissvk.com",
     "img\/nocover.jpg",
     2278055077
  ],
  [
     "13:50:03",
     "BRANYA- MACAN-\u041f\u043e\u043f\u043e\u043b\u0430\u043c-kissvk.com",
     "img\/nocover.jpg",
     3979166470
  ],
  [
     "13:52:25",
     "Goro-NoFly",
     "img\/nocover.jpg",
     2455695835
  ],
  [
     "13:55:02",
     "Goro-Road",
     "img\/nocover.jpg",
     3628123713
  ],
  [
     "13:57:02",
     "PAVELB4H-\u041c\u043d\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0431\u044b-kissvk.com",
     "img\/nocover.jpg",
     2278055077
  ]
]

Я использую библиотеку gson для того, чтобы брать этот JSON с URL следующим образом:

url1 = new URL(sUrl);
HttpURLConnection request = (HttpURLConnection) url1.openConnection();
request.connect();
JsonParser jp = new JsonParser();
JsonElement root = jp.parse(new InputStreamReader((InputStream) request.getContent()));
JsonObject rootobj = root.getAsJsonObject();

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

Автор решения: ЮрийСПб

В теории (не компилил, писал не в IDE) должно как-то так работать:

public class Data {
    public List<List<String>> songs;
}

String text = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);

Data data = new Gson().fromJson(text, Data.class);

List<String> songTitles = data.songDatas.stream().map { songData -> songData.get(1) }.collect(Collectors.toList());
→ Ссылка