Пример кода из файла(сначала идет описание города, потом идет описание станций в этом городе):
{
"citiesFrom" : [
{
"countryTitle" : "Австрия",
"point" : {
"longitude" : 16.36879539489746,
"latitude" : 48.20253753662109
},
"districtTitle" : "",
"cityId" : 2352,
"cityTitle" : "Вена",
"regionTitle" : "",
"stations" : [
{
"countryTitle" : "Австрия",
"point" : {
"longitude" : 16.36879539489746,
"latitude" : 48.20253753662109
},
"districtTitle" : "",
"cityId" : 2352,
"cityTitle" : "город Вена",
"regionTitle" : "",
"stationId" : 10154,
"stationTitle" : "International Busterminal, Edbergstarsse 200 A"
},
{
"countryTitle" : "Австрия",
"point" : {
"longitude" : 16.36879539489746,
"latitude" : 48.20253753662109
},
"districtTitle" : "",
"cityId" : 2352,
"cityTitle" : "город Вена",
"regionTitle" : "",
"stationId" : 9864,
"stationTitle" : "Stadion Center, Engerthstr. 242"
},
{
"countryTitle" : "Австрия",
"point" : {
"longitude" : 16.36879539489746,
"latitude" : 48.20253753662109
},
"districtTitle" : "",
"cityId" : 2352,
"cityTitle" : "город Вена",
"regionTitle" : "",
"stationId" : 9778,
"stationTitle" : "Stadion Center, Olympiaplatz 2"
},
{
"countryTitle" : "Австрия",
"point" : {
"longitude" : 16.36879539489746,
"latitude" : 48.20253753662109
},
"districtTitle" : "",
"cityId" : 2352,
"cityTitle" : "город Вена",
"regionTitle" : "",
"stationId" : 434,
"stationTitle" : "U-BHF ERDBERGSTR."
},
{
"countryTitle" : "Австрия",
"point" : {
"longitude" : 16.36879539489746,
"latitude" : 48.20253753662109
},
"districtTitle" : "",
"cityId" : 2352,
"cityTitle" : "город Вена",
"regionTitle" : "",
"stationId" : 874,
"stationTitle" : "Vienna"
}
]
}
]
}
Как верно подметили в комментариях, сложного в парсинге JSON-а ничего нет, и примеров на эту тему тоже достаточно. Вам нужно просто понять принцип, как работать с JSON-ом, и далее для вас не составит никакой трудности распарсить сколь угодно сложный JSON.
Лично я советую использовать библиотеку org.json, с ней работать гораздо проще, чем с GSON или некоторыми другими примерами. Но этот вопрос довольно субъективен.
Конкретно на вашем примере:
// Допустим, в этой строке у вас находится весь ваш JSON
// Как вы его туда поместите, это уже другой вопрос
// И, надеюсь, трудностей у вас с этим не будет
String jsonString = "";
// Парсим JSON
JSONObject json = new JSONObject(jsonString);
JSONArray citiesFrom = json.getJSONArray("citiesFrom");
JSONObject country = citiesFrom.getJSONObject(0);
String countryTitle = country.getString("countryTitle");
JSONArray stations = country.getJSONArray("stations");
JSONObject firstStation = stations.getJSONObject(0);
String firstStationTitle = firstStation.getString("stationTitle");
// International Busterminal, Edbergstarsse 200 A
// и так далее...
Если честно - странный JSON с кучей дублирования. Вы можете использовать тот же GSON для первичного парсинга данных, затем, если судить по приведенному примеру, я бы создал два POJO класса Cities и Station которые бы создавал и заполнял данными во время парсинга. Таким образом вы бы написали свой десериализатор из JSON в Java объекты.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно создать сортировку массива методом пузырька, когда пузырек "тонет" (с конца массива до начала, НЕ сортировка по убыванию) В чем проблема?...
ЗдравствуйтеНужно поизучать Jira и возможности работы с ней из вне
Как собрать все значение data-url="/af54359643" используя OpenQASelenium ? Пытаюсь разобраться в документации, там есть метод FindElements, но судя по всему, он значения...
Есть метод в контроллере, который фильтрует содержимое