Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift语言中的JSON数组解析_Swift - Fatal编程技术网

Swift语言中的JSON数组解析

Swift语言中的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

我需要在建立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&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}
我想这很清楚