当我注册用户时,我会收到状态码200和令牌:"" JSON回来了。 如果用户已经存在,那么我得到状态代码200和html响应而不是JSON。我应该如何处理这个问题。提前谢谢。
我所做的是 -
switch httpResponse.statusCode {
case 200:
// 2. Create JSON object with data
do {
let jsonDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [String: AnyObject]
print(jsonDictionary!)
if let jsonDictionaryOne = jsonDictionary {
let authToken = AuthToken(tokenDictionary: jsonDictionaryOne)
completion(authToken)
}
} catch {
print("Fetch failed: \((error as NSError).localizedDescription)")
dispatch_async(dispatch_get_main_queue()) {
let authToken = AuthToken(tokenDictionary: ["token":"none"])
completion(authToken)
}
}
答案 0 :(得分:0)
看起来你已经用一种方式处理它了 - 无法创建一个JSon解析器对象可以用来推断响应是html,但是如果返回了无效的JSon,这将是一个不正确的推理。
另一种方法是检查HTTP头内容类型,在一种情况下,头内容类型应指示json,而另一种情况则指示其他html。