注册问题

时间:2016-05-06 16:33:44

标签: ios json swift

当我注册用户时,我会收到状态码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)
            }
        }

1 个答案:

答案 0 :(得分:0)

看起来你已经用一种方式处理它了 - 无法创建一个JSon解析器对象可以用来推断响应是html,但是如果返回了无效的JSon,这将是一个不正确的推理。

另一种方法是检查HTTP头内容类型,在一种情况下,头内容类型应指示json,而另一种情况则指示其他html。