来自 JSON 的模型,包含数组和字典

Model from JSON containing Array and Dictionary

class AppUsers: Object{
    dynamic var email: String = ""
    dynamic var type: String = ""

    required convenience init?(map: Map) {
        self.init()
        mapping(map: map)
    }

    override class func primaryKey() -> String {
        return "email"
    }
}

        extension AppUsers : Mappable {

            func mapping(map: Map) {
                email               <- map["email"]
        //        active_platforms    <- map["active_platforms"]
                type                <- map["type"]
        //        linked_to           <- map["linked_to"]
            }
        }

JSON 回复:

{
       "email": "asd@gmail.com",
       "type": "primary_email",
       "linked_to": {
         "_id": "DAS44564dasdDASd",
         "image": null,
         "company": null,
         "designation": null,
         "name": null
       },
       "active_platforms": [
         "asd",
         "qwe"
       ]
     }

从上面的响应如何得到 linked_to 这是一个字典和 active_platforms 这是一个数组。我尝试在 AppUsers 中为 linked_to 创建单独的 class 创建它的 var 但它没有帮助。

一对一关系是

dynmamic var linkedTo: LinkObject?

一对多关系是

let activePlatforms = List<ActivePlatform>()

如果您想使用对象映射器来填充它们,LinkObject 必须是可映射的并且 ActivePlatform 必须是可映射的并且您必须提供 custom transform 以将 JSON 数组转换为领域列表。