{
"name": "a",
"enabled": true,
"available": false
},
{
"name": "b",
"enabled": true,
"available": false
},
{
"name": "c",
"enabled": false,
"available": true
},
{
"name": "f",
"enabled": false,
"available": false
},
{
"name": "g",
"enabled": false,
"available": false
},
{
"name": "h",
"enabled": false,
"available": false
}
class CallsResponse: Response, Mappable {
var name: String?
var enabled: Bool?
var available: Bool?
required init?(map: Map) {
}
func mapping(map: Map) {
self.name <- map["name"]
self.enabled <- map["enabled"]
self.available <- map["available"]
}
}
//并尝试解析
func parseResponse(data: Data) throws -> ResponseType? {
if let JSON = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String: Any] {
return Mapper<ResponseType>().map(JSON: JSON)
}
return nil
}
它的字典数组尝试将cast键入为[[String:Any]]
现在不需要外部映射器框架了,苹果提供了Codable,它易于使用,也易于理解解析中的错误。