Существует JSON
{"2":{"sessions":[{"time":"13:00","price":"410"},{"time":"06:40","price":"340"},{"time":"16:50","price":"370"}],"name":"\u041a\u0438\u043d\u043e\u043a\u0438\u0441-L","locate":"\u041c\u043e\u0441\u043a\u0432\u0430, \u0421\u0430\u0434\u043e\u0432\u0430\u044f-\u0421\u043f\u0430\u0441\u0441\u043a\u0430\u044f \u0443\u043b., 21, 56","metro":"\u041a\u0440\u0430\u0441\u043d\u044b\u0435 \u0432\u043e\u0440\u043e\u0442\u0430"},"7":{"sessions":[{"time":"06:35","price":"190"},{"time":"00:05","price":"410"}],"name":"\u041a\u0438\u043d\u043e\u043a\u0438\u0441-V","locate":"\u041f\u0430\u0432\u0435\u043b\u0435\u0446\u043a\u0430\u044f \u043f\u043b., 2, \u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 1","metro":"\u041f\u0430\u0432\u0435\u043b\u0435\u0446\u043a\u0430\u044f"},"8":{"sessions":[{"time":"15:10","price":"330"}],"name":"\u041a\u0438\u043d\u043e\u043a\u0438\u0441-J","locate":"\u0443\u043b. \u041f\u0440\u0435\u0447\u0438\u0441\u0442\u0435\u043d\u043a\u0430, 40\/2","metro":"\u041a\u0440\u043e\u043f\u043e\u0442\u043a\u0438\u043d\u0441\u043a\u0430\u044f"},"9":{"sessions":[{"time":"13:00","price":"600"},{"time":"08:30","price":"300"},{"time":"04:00","price":"510"},{"time":"13:15","price":"340"}],"name":"\u041a\u0438\u043d\u043e\u043a\u0438\u0441-U","locate":"\u0428\u0430\u0440\u0438\u043a\u043e\u043f\u043e\u0434\u0448\u0438\u043f\u043d\u0438\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u0443\u043b., 24","metro":"\u0414\u0443\u0431\u0440\u043e\u0432\u043a\u0430"}}
Каким образом это спарсить в
List<HashMap<String,HashMap<String,String>>>
Хочу получить нечто похожее вль на такую структуру на примере декодирования этого JSON в php
Array
(
[2] => Array
(
[sessions] => Array
(
[0] => Array
(
[time] => 13:00
[price] => 410
)
[1] => Array
(
[time] => 06:40
[price] => 340
)
[2] => Array
(
[time] => 16:50
[price] => 370
)
)
[name] => Кинокис-L
[locate] => Москва, Садовая-Спасская ул., 21, 56
[metro] => Красные ворота
)
[7] => Array
(
[sessions] => Array
(
[0] => Array
(
[time] => 06:35
[price] => 190
)
[1] => Array
(
[time] => 00:05
[price] => 410
)
)
[name] => Кинокис-V
[locate] => Павелецкая пл., 2, строение 1
[metro] => Павелецкая
)
[8] => Array
(
[sessions] => Array
(
[0] => Array
(
[time] => 15:10
[price] => 330
)
)
[name] => Кинокис-J
[locate] => ул. Пречистенка, 40/2
[metro] => Кропоткинская
)
[9] => Array
(
[sessions] => Array
(
[0] => Array
(
[time] => 13:00
[price] => 600
)
[1] => Array
(
[time] => 08:30
[price] => 300
)
[2] => Array
(
[time] => 04:00
[price] => 510
)
[3] => Array
(
[time] => 13:15
[price] => 340
)
)
[name] => Кинокис-U
[locate] => Шарикоподшипниковская ул., 24
[metro] => Дубровка
)
)
Пробовал вот такой вариант
String Sessions //JSON
Type listType = new TypeToken<List<HashMap<String,HashMap<String,String>>>>() {}.getType();
ArrayList<HashMap<String,HashMap<String,String>>> SessionsList = new Gson().fromJson(Sessions, listType)
К сожалению не работает
Каким образом это спарсить в List<HashMap<String,HashMap<String,String>>>
Вам не нужна такая структура. Сделайте классы
class Seanse {
public String name;
public String locate
public String metro;
public List<Sessions> sessions;
}
class Sessions {
public String time;
public double price;
}
и выгружайте
Gson g = new Gson();
Type type = new TypeToken<Map<String, Seanse>>(){}.getType();
Map<String, Seanse> myMap = g.fromJson(json, type);
В итоге у вас будет простой map, а не такой монстр...
Примерно это описано тут: Как и чем парсить Json на Java?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть NestedScrollView, в котором есть TextView с большим объемом текста, мне нужно событие прокрутки при остановки сохранять в Preferences, возможно...
Хотел реализовать кнопки старта/паузы в notification'e, но метод getCurrentPosition никак не выдает реальное число, только 0
У меня есть много объектов, которые хочу отрисовать на экранЕсли дело обстоит в обычной отрисовке, то тут никаких проблем не возникает, все...