Swift:无法将''类型'__NSCFString'(0x10e4d5ef0)的值转换为'NSDictionary'(0x10e4d6bc0)'类型的值。'

问题描述:

我正在尝试在字典中获取发布数据。让我先说明我在做什么。Swift:无法将''类型'__NSCFString'(0x10e4d5ef0)的值转换为'NSDictionary'(0x10e4d6bc0)'类型的值。'

manager.POST(url, parameters: dict, 
 
       success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in 
 
    if let jsonDict = self.parseJSON(responseObject) { 
 
    print(jsonDict) 
 
         
 
    // Error occur on the following line      
 
    
 
    let dataDict = jsonDict["data"] as! [String : AnyObject] 
 
    
 
// Error Info: Swift: Could not cast value of type 'Could not cast value of type '__NSCFString' (0x10e4d5ef0) to 'NSDictionary' (0x10e4d6bc0).' 
 

 
}
ParseJson功能:
func parseJSON(inputData: AnyObject) -> Dictionary<String,AnyObject>?{ 
 
     
 
     do { 
 
      let jsonDict = try NSJSONSerialization.JSONObjectWithData(inputData as! NSData, options:NSJSONReadingOptions.MutableContainers) as! Dictionary<String,AnyObject> 
 
      // use jsonData 
 
      return jsonDict 
 
     } catch let error as NSError { 
 
      // report error 
 
      print(error.description) 
 
      print("Session: Json Parse Error!!!") 
 
      return nil 
 
     } 
 
    }

这是pirnt的(jsonDict)

[数据结果:{ “session_id的”: “ab4kn9fj34ko89kjkl5ljs98gfk498fgkl409alk34l”, “user_info”:{“username”:“Johny Cage”,“ENCPASSWORD”:“johnycage”,“id”:1 ,“FULLNAME”:“Johny Cage”}},状态:成功]

任何帮助或建议,高度赞赏。

+0

我试过后,但给定的解决方案导致我的代码中的另一个错误。链接:https://*.com/questions/39652661/could-not-cast-value-of-type-nscfstring-0x104a67320-to-nsdictionary-0x1 – user6159419

+0

答案在https://*.com/questions/38831641/swift-could-not-cast-value-of-type-nscfstring-to-nsdictionary也不适用于我。 – user6159419

+0

你可以添加函数parseJSON的代码吗? – Jay

检查您的网站服务返回的数据。我想你会在Jason String中多次转换它,或者像这样。上面的代码没有问题。检查你的服务器端。

+0

Thankyou先生,这是你第二次拯救我的一天。是的,如你所说,我的客户端还有额外的东西。非常感谢你。 – user6159419

+0

我的荣幸。 。 。你的问题解决了。欢迎:) –