Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 注册问题上的JSON数据处理_Ios_Json_Swift - Fatal编程技术网

Ios 注册问题上的JSON数据处理

Ios 注册问题上的JSON数据处理,ios,json,swift,Ios,Json,Swift,当我注册用户时,我会得到一个状态代码200和一个令牌:“JSON back”。 若用户已经存在,那个么我会得到一个状态码200和html响应,而不是JSON。我应该如何处理这个问题。提前谢谢 我所做的是- switch httpResponse.statusCode { case 200: // 2. Create JSON object with data do { let jsonDictionary = try NSJSONS

当我注册用户时,我会得到一个状态代码200和一个令牌:“JSON back”。 若用户已经存在,那个么我会得到一个状态码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)
            }
        }

看起来您已经在以一种方式处理它了——无法创建JSon解析器对象可以用来推断响应是html,但是如果返回无效的JSon,这将是错误的推断


因此,另一种方法是检查HTTP头内容类型,在一种情况下,头内容类型应该指示json,在另一种html中。

看起来您已经在用一种方法处理它了-无法创建json解析器对象可以用来推断响应是html,但是,如果返回无效的JSon,则这将是一个错误的推断

因此,另一种方法是检查HTTP头内容类型,在一种情况下,头内容类型应指示json,在另一种html中指示