這是用於在反序列化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?