fro*_*ier 9 swift objectmapper
我有一个响应模型,如下所示:
class ResponseModel: Mappable {
var data: T?
var code: Int = 0
required init?(map: Map) {}
func mapping(map: Map) {
data <- map["data"]
code <- map["code"]
}
}
Run Code Online (Sandbox Code Playgroud)
如果json-data不是数组,它可以工作:
{"code":0,"data":{"id":"2","name":"XXX"}}
Run Code Online (Sandbox Code Playgroud)
但如果它是一个数组,它不起作用
{"code":0,"data":[{"id":"2","name":"XXX"},{"id":"3","name":"YYY"}]}
Run Code Online (Sandbox Code Playgroud)
我的映射代码;
let apiResponse = Mapper<ResponseModel>().map(JSONObject: response.result.value)
Run Code Online (Sandbox Code Playgroud)
详情; 我使用这篇文章尝试了这段代码:http://oramind.com/rest-client-in-swift-with-promises/
Moh*_*hyG 11
你需要使用mapArray方法而不是map:
let apiResponse = Mapper<ResponseModel>().mapArray(JSONObject: response.result.value)
Run Code Online (Sandbox Code Playgroud)
您需要将数据声明更改为数组,因为 JSON 中就是这样的:
var data: [T]?
Run Code Online (Sandbox Code Playgroud)