问题
I'm trying to achieve something generic to parse my JSON response so far i'm able to get them this close
class ParentJson<T: Mappable> : Mappable {
var StatusCode: Int?
var Message: String?
var dataArray: [T]?
var dataObject: T?
required init?(map: Map) {
}
func mapping(map: Map) {
StatusCode <- map["StatusCode"]
Message <- map["Message"]
dataArray <- map["Data"]
dataObject <- map["Data"]
}
}
class DataJson: Mappable {
var OffsiteReportID: Int?
var InspectionActivityID: Int?
var OffsiteReportAddedByID: Int?
var OffsiteReportDisplayID: String?
var OffsiteReportDate: String?
var OffsiteReportDescription: String?
var OffsiteReportDetails: String?
required init?(map: Map) {
}
func mapping(map: Map) {
OffsiteReportID <- map["OffsiteReportID"]
InspectionActivityID <- map["InspectionActivityID"]
OffsiteReportAddedByID <- map["OffsiteReportAddedByID"]
OffsiteReportDisplayID <- map["OffsiteReportDisplayID"]
OffsiteReportDate <- map["OffsiteReportDate"]
OffsiteReportDescription <- map["OffsiteReportDescription"]
OffsiteReportDetails <- map["OffsiteReportDetails"]
}
}
JSON under "Data" could be Object or an Array. Basic issue is I don't want to use dataArray & dataObject only to leave on variable nil and check which one is nil and use other one I want to have only one variable which return Object or array of objects based on data, I have idea about "Mapping Context" but i'm not sure if that could help me
Any ideas guys?
来源:https://stackoverflow.com/questions/42778641/objectmapper-array-or-object-based-on-data