Если по простому, то парсишь в Map, дальше циклом закидываешь ключ в обьект в поле name, готово, можно закинуть все в лист, если надо, new ArrayList(map.values()) В зависимости от либы уже чуть по другому (кастомный адаптер как писали выше) но в целом смысл тот же
ну, сложно сказать. Потому как вопрос был поставлен как распарсить JSON. Мы вроде тебе подсказали как. И связи с RX или Retrofit тут нету совсем. Для этого нужен кастомный адаптер для GSONa (в твоем случае). Умение гуглить правильно - очень важно. Вот первая ссылка в гугле описывает твой пример https://stackoverflow.com/questions/41029313/custom-deserialization-into-a-map-using-gson (если я не ошибаюсь)