func loadVIPData() { let uInfo = UserInfo.sharedInstance WNet.sharedInstance.getSignInVipList(uInfo.uid!, token: uInfo.token) { (task, rsp) in if Int32(rsp["code"]as! Int) == NET_SUCCESS { print("请求成功") let jsonStr = (rsp["msg"]) print(jsonStr) let data = jsonStr!!.dataUsingEncoding(NSUTF8StringEncoding) let jsonArr = try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSArray print("记录数:\(jsonArr.count)") for json in jsonArr { print("ID:", json.objectForKey("ID")!, " Name:", json.objectForKey("Name")!) } } print(rsp) } }
返回数据 :
请求成功
{
code = 1; msg = ( "{\"u_id\": 198, \"timestamp\": 1467897699.2721512, \"signrecord_id\": 376, \"msg_id\": 667, \"msg_content\": {\"gender\": 1, \"qq_token\": null, \"industry\": \"\\u4e92\\u8054\\u7f51\", \"invite_num\": 0, \"nick_name\": \"\\u8f6f\\u4ef6\\u5f00\\u53d1\", \"member_type\": 0, \"wx_token\": null, \"open_id\": null, \"phone_number\": \"13168761200\", \"u_id\": 149, \"job\": \"iOS\\u5de5\\u7a0b\\u5e08\", \"main_business\": null, \"company\": \"\\u5584\\u4e3a\\u4e92\\u8054\", \"customer_id\": \"n201606200149\", \"region\": \"\\u6df1\\u5733\\u5e02\", \"head_img\": \"http://120.76.156.9:22354//static/upload/head_img/null_TFcLoRf.null\", \"wechat_img_url\": null, \"qq_open_id\": null, \"linked\": true, \"invete_code\": \"n201606200149\", \"realname\": null, \"qq_img_url\": null}, \"type\": \"msg_2\", \"msg_title\": \"\\u6709\\u4eba\\u7b7e\\u5230\\u5566!\"}" );
}
实在不会解析了,看了教程用,用swiftyJSON ,数组中是有数据的,但是读到就为空
let json = JSON(rsp) let jsonArray = json["msg"].arrayValue print(" 数组 \(jsonArray)") print(" 数组 \(jsonArray.count)") print("---------------------------------") if jsonArray.count > 0 { let str = JSON.parse(jsonArray[0]["msg_content"]["nick_name"].string!) print("标题 : \(str)") }
jsonArray[0]["msg_content"]["nick_name"].string!
本身就是一个字符串,不用再 JSON.parse
了吧
另外,head_img
貌似数据错了