Codable in Swift 4 changes the game. It deprecates lots of existing JSON libraries.
Generic model
API responses is usually in form of an object container with a key. Then it will be either nested array or object. We can deal with it by introducing a data holder. Take a look DataHolder