Ну я говорю, как вариант принимать сырой json и в мапу ложить. Но проблема может быть серьезнее, если появится внутри объекта ещё один такой же объект, циклы крутить с этими уровнями вложенности
Ну чтоб такое сделать, надо изначально получить json объект, типа responseJSON сделать (если Alamofire / URLSession юзаешь), потом да, через map можно разобрать пришедший json на ключи и значения и засунуть в словарь
++ бекендер на прочь отказался типизировать такое, пришлось адаптер на все случаи и ендпоинты писать. Ибо доку ему было лень писать, а апи он иногда менял