Как отобразить массив с помощью ObjectMapper? - PullRequest
0 голосов
/ 28 февраля 2020

Вот моя модель

class ResponseDataType: Mappable {

    var status: Int?
    var message: String?
    var info: [Info]?

    required init?(map: Map) { }

    func mapping(map: Map) {
        status <- map["status"]
        message <- map["message"]
        info <- map["member_info"]
    }
}

Вот моя JSON

"status": 200,
    "data": {
        "member_info": [
            {
                "fullname": "werwerwer",
                "type": "werwer",
                "profile_image": "sdfsdfsd.jpg",
                "email": "wfwe@werwegt",
                "contact": ""
            }
        ]
    },
    "message": "Login Success"
}

Мне трудно сопоставить массив внутри данных. Скажите, пожалуйста, что не так с моим кодом.

Ответы [ 2 ]

1 голос
/ 29 февраля 2020

Вы забыли данные. Должно быть так:

class ResponseDataType: Mappable {

var status: Int?
var message: String?
var data: Data?

required init?(map: Map) { }

func mapping(map: Map) {
    status <- map["status"]
    message <- map["message"]
    data <- map["data"]
}

и ваш класс данных:

class Data: Mappable {

var info: [Info]?

required init?(map: Map) { }

func mapping(map: Map) {
    info <- map["member_info"]
}
0 голосов
/ 29 февраля 2020

Если ваш объект Info соответствует Mappable, все должно работать правильно в вашем коде. Но попробуйте прочитать о протоколе Codable, с ним гораздо проще сопоставить объекты!

...