I have a JSON response like:
      {
        total_count: 155,
        size: 75,
        authors: [{ name: "test1"
                    id: 1
                 },
                 {name: "test2"
                    id: 2
                 }]
      }
I created my object model and use objectMapper for mapping/parsing this json.
import Foundation
import SwiftyJSON
import ObjectMapper
class Author: Mappable {
    var id: Int!
    var name: String!
    required init?(map: Map) {
    }
    func mapping(map: Map) {
        self.id <- map["id"]
        self.name <- map["name"]
    }
    static func fromJSONArray(_ json: JSON) -> [Author] {
        var authorArray: [Author] = []
        if json.count > 0 {
            for item in json["authors"]{
                print(item)
                authorArray.append(Mapper<Author>().map(JSONObject: item)!)
            }
        }
        return authorArray
    }
With print(item) I can see the objects but, I can't make append work. It is giving "Unexpectedly found nil while unwrapping an Optional value" error.
Your JSON is not valid.
You can check your JSON validity using JSONLint for exemple.
For more safety in your code, avoid usage of !.
Replace
authorArray.append(Mapper<Author>().map(JSONObject: item)!)
by
if let author = (Mapper<Author>().map(JSONObject: item) {
    authorArray.append(author) 
} else {
    print("Unable to create Object from \(item)")
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With