【发布时间】:2017-07-19 07:24:37
【问题描述】:
我正在尝试在字典中获取帖子数据。首先让我展示一下我在做什么。
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":{"用户名":"Johny Cage","ENCPASSWORD":"johnycage","id":1,"FULLNAME":"Johny Cage "}},状态:成功]
非常感谢任何帮助或建议。
【问题讨论】:
-
我从帖子中尝试过,但给定的解决方案导致我的代码出现另一个错误。链接:stackoverflow.com/questions/39652661/…
-
stackoverflow.com/questions/38831641/… 上的答案对我也不起作用。
-
可以添加函数parseJSON的代码吗?
-
尝试做
if let data = json["data"] as? String { print(data) }看看会返回什么,因为它认为你返回的是一个字符串
标签: swift2