检查http响应格式

时间:2015-06-30 07:40:06

标签: ios swift

我正在进行http调用并接收JSON响应

var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as! NSDictionary

但是当没有收到实际的json时这行失败并且错误无法将NSArray的值转换为NSDictionary

我理解为什么会发生这种情况我的问题是如何正确检查响应的格式

1 个答案:

答案 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