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).'
}
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”}},状态:成功]
任何帮助或建议,高度赞赏。
检查您的网站服务返回的数据。我想你会在Jason String中多次转换它,或者像这样。上面的代码没有问题。检查你的服务器端。
Thankyou先生,这是你第二次拯救我的一天。是的,如你所说,我的客户端还有额外的东西。非常感谢你。 – user6159419
我的荣幸。 。 。你的问题解决了。欢迎:) –
我试过后,但给定的解决方案导致我的代码中的另一个错误。链接:https://*.com/questions/39652661/could-not-cast-value-of-type-nscfstring-0x104a67320-to-nsdictionary-0x1 – user6159419
答案在https://*.com/questions/38831641/swift-could-not-cast-value-of-type-nscfstring-to-nsdictionary也不适用于我。 – user6159419
你可以添加函数parseJSON的代码吗? – Jay