将 json 响应映射到自定义对象

Mapping json response to custom object

我收到来自服务器的以下响应。

 [
    {
      "resourceEmail" : "",
      "kind" : "admin#directory#resources#calendars#CalendarResource",
      "resourceId" : "",
      "resourceName" : "Inubation-Newton-4p",
      "resourceType" : "Confroom",
      "etags" : "\"eqO3c9wtJJ4wVWz2xe0E9HiU_D0\/rfmk2kZmhGi4HcHadds\""
    },
    {
      "resourceEmail" : "...",
      "kind" : "admin#directory#resources#calendars#CalendarResource",
      "resourceId" : "...",
      "resourceName" : "MVD11-R2-Napolitana",
      "resourceType" : "1 Tel Room",
      "etags" : "\"eqO3c9wtJJ4wVWz2xe0E9HiU_D0\/zcPwONBLID-O_3gvi0ly\""
    },
]

如何将上述 json 数组转换为自定义对象数组。我正在使用 SwiftyJSON 创建自定义对象。下面是我的自定义对象 class.

class CalendarResource: NSObject {
     var resourceID: String
     var resourceEmail: String
     var resourceName: String
     var etags: String

    init(json: JSON) {
        self.resourceID = json[Constants.Model.CalendarResource.resourceID].stringValue
        self.resourceEmail = json[Constants.Model.CalendarResource.resourceEmail].stringValue
        self.resourceName = json[Constants.Model.CalendarResource.resourceName].stringValue
        self.etags = json[Constants.Model.CalendarResource.etags].stringValue
    }

}

谢谢

struct CalendarResource {
     var resourceID: String
     var resourceEmail: String
     var resourceName: String
     var etags: String 

     init(json: JSON) {
    self.resourceID = json["resourceID"].stringValue
    self.resourceEmail = json["resourceEmail"].stringValue
    self.resourceName = json["resourceName"].stringValue
    self.etags = json["etags"].stringValue
    }
}

当您收到这样的回复时:

//create array somewhere outside of the method, var calendarResourceArray: [CalendarResource]

let jsonArray = response    
self.calendarResourceArray = jsonArray!.map{CalendarResource(json: [=11=])}