使用SwiftyJSON解析使用Swift的JSON时遇到问题
我是
swift的新手,我正在尝试解析一些我从私有API中检索的简单
JSON数据.我正在使用
SwiftJSON库.
无论我做什么,我都无法为变量“videoUploadId”分配来自JSON响应的“video_upload_id”值.我希望我提供足够的信息来获得一些帮助.谢谢 这是代码的一部分 let task = session.dataTaskWithRequest(request,completionHandler: { (data : NSData!,response,error : NSError!) -> Void in if (error == nil) { // Success let statusCode = (response as NSHTTPURLResponse).statusCode println("Status Code: (statusCode)rn") println("Response: (response)rn") println("Data: (data)rn") let dataContent = NSString(data: data!,encoding: NSUTF8StringEncoding)! println("UTF8 Data: (dataContent)rn") let json = JSON(dataContent) if let videoUploadId = json["video_upload_id"].int { println("Video Upload ID (Dict: int): (videoUploadId)") } else if let videoUploadId = json["video_upload_id"].string { println("Video Upload ID (Dict: string): (videoUploadId)") } else if let videoUploadId = json[0].int { println("Video Upload ID (Array: int): (videoUploadId)") } else if let videoUploadId = json[0].string { println("Video Upload ID (Array: string): (videoUploadId)") } else { println(json["video_upload_id"].error) } } else { // Failure println("URL Session Task Failed: %@",error.localizedDescription); } }) task.resume() 这是我从我的控制台收到的: 登录响应:HTTP 200 回复:{URL:https://// videos / uploads /} {状态代码:201,headers { 数据:< 7b227669 64656f5f 75706c6f 61645f69 64223a20 3736307d> UTF8数据:{“video_upload_id”:760} 可选(Error Domain = SwiftyJSONErrorDomain Code = 901“Dictionary [”video_upload_id“]失败,它不是字典”UserInfo = 0x170238620 {NSLocalizedDescription = Dictionary [“video_upload_id”]失败,它不是字典}) 从代码和控制台输出中可以看出,我试图以几种不同的方式设置变量,所有这些似乎都失败了.我收到错误“Dictionary [”video_upload_id“]失败,它不是字典”我甚至尝试前置“[”并附加“]”以试图查看它是否是格式化问题. 有线索吗?
你正在做错误的初始化.你应该使用:
let json = JSON(data:data) // data is NSData! 不需要将NSData转换为NSString,并且在某种程度上错误. SwiftyJSON只能用NSData或Swift对象初始化. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |