这是用于在反序列化alamofire responsejson收集和语法的一个非常基本的问题迅速如何从alamofire请求
我有一个返回的用户的阵列例如对象一个GET服务反序列化集合
[
{"uname": "bob"},
{"uname": "jane"}
]
,这里是我的要求
Alamofire.request(.GET, url , encoding:.JSON)
.responseJSON(options: .MutableContainers, completionHandler:{ (request, response, JSON, error) -> Void in
let result = JSON as? [Dictionary<String,String>]
if (response!.statusCode == 200 && error == nil){
//how should I deserialize the result here to return [String]
callback(success: true, errorMsg: nil, friends:friends)
}
else{
callback(success: false,errorMsg:error?.localizedDescription,friends:nil)
}
})
我的问题是如何反序列化的结果,而我是正确的假设,JSON结果是[解释],为了为我改变它到[字符串]的结果,我应该映射它?
如果我使用地图的语法下面我有几个问题
let friends = result?.map {
return $0["uname"] as String?
}
使用可选的返回值,我可以得到它的返回,而不是一个[字符串]在一个优雅的方式[字符串?] - 没有办法让map以某种简洁的语法以某种方式返回非null值?
也有更好的地图语法,让我命名参数,而不是使用$ 0?