我正在进行http调用并接收JSON响应
var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as! NSDictionary
但是当没有收到实际的json时这行失败并且错误无法将NSArray的值转换为NSDictionary
我理解为什么会发生这种情况我的问题是如何正确检查响应的格式
答案 0 :(得分:0)
我在我的api中喜欢这个:
typealias JSONType = (dictionary: [String:AnyObject]?, array: [AnyObject]?)
var error:NSError?
var json:AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &error)
if let dict = json as? [String:AnyObject] {
return (dict, nil)
}
else if let arr = json as? [AnyObject] {
return (nil, arr)
}
因此,当我返回JSONType时,我可以通过以下方式更改为将其用作字典或数组:
json.array