Swift语言中的JSON数组解析
我需要在建立HTTP连接之后解析jsonSwift语言中的JSON数组解析,swift,Swift,我需要在建立HTTP连接之后解析json let myUrl = NSURL(string: "http://46.143.211.12/nvn/modules/pm/") let requset = NSMutableURLRequest(URL: myUrl!) requset.HTTPMethod = "POST" let postString = "request=data&from=now&serial=9306000001&password=app_test
let myUrl = NSURL(string: "http://46.143.211.12/nvn/modules/pm/")
let requset = NSMutableURLRequest(URL: myUrl!)
requset.HTTPMethod = "POST"
let postString = "request=data&from=now&serial=9306000001&password=app_test&imei=testimei"
requset.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(requset) {
data, response, error in
if error != nil {
println("eror=\(error)")
return
}
println("responce = \(response)")
let responcsestring = NSString(data: data, encoding: NSUTF8StringEncoding)
println("responce data = \(responcsestring)")
我需要在建立HTTP连接之后解析json
如何将json解析为数组?我这样做:
func getJson() {
let jsonUrl = "http://yoururl"
let session = NSURLSession.sharedSession()
let shotsUrl = NSURL(string: jsonUrl)
let task = session.dataTaskWithURL(shotsUrl!) {
(data, response, error) -> Void in
do {
print("1")
let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableLeaves ) as! NSDictionary
print("2")
// status = 1 means we have elements from database
if String(jsonData["status"]!) == "1" {
// record count
let recordCount = jsonData["recordcount"]!
// loop for convert json to array allJson
for index in 0...Int(recordCount as! NSNumber) - 1 {
let allJson = jsonData["records"]![index]
if let jid = allJson["id"] as? Int {
if let jname = allJson["name"] as? String {
self.catalogs.append(Catalog(id: jid, name: jname))
}
}
}
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
});
}
} catch _ {
// Error
}
}
task.resume()
}
我的json如下所示:
{"records":[{"id":"0","name":"First"},{"id":"9","name":"Second"}],"recordcount":2,"status":true}
我想这很清楚