Swift JSONDecoder typeMismatch error

You’re probably doing this right now:

let decoder = JSONDecoder()
let repoList = decoder.decode(RepoList.self, from: data)

which is fine for the response with a top-level Object.

To decode JSON responses that are top-level Arrays, use code like this instead:

let decoder = JSONDecoder()
let repos = decoder.decode([Repo].self, from: data)

Leave a Comment