Swift send JSON data server via POST PHP server -


when use swift give data via post json server fatal error:

unexpectedly found nil while unwrapping optional value.

i not sure if way passing json library dictionary or problem when sending server since not have access see server php code.

i not sure how

nsjsonserialization.jsonobjectwithdata(data, options: .mutableleaves, error: &err) as! nsarray 

works.

i create json dictionary

func parseexportdb() -> [anyobject]{      var exportdict: [anyobject] = []      tuple in export {         var dictobj = [             "phoneid": "petrjanata",             "loclabel": tuple[crosslocation],             "latitude": "123",             "longitude": "-123",             "time" : tuple[time],             "heading" : tuple[heading]         ]         exportdict.append(dictobj)         println(dictobj)     }      return exportdict } 

i take exportdict json array object , pass function:

func sendjsontoserver(exportlist: anyobject){      var request = nsmutableurlrequest(url: nsurl(string: "http://atonal.ucdavis.edu/geomus/submit_data.php")!)      var session = nsurlsession.sharedsession()     request.httpmethod = "post"      var err: nserror?     if let serializeddata = nsjsonserialization.datawithjsonobject(exportlist, options: nil, error: &err){         request.httpbody = serializeddata         println(request.httpbody)     }     request.addvalue("application/json", forhttpheaderfield: "content-type")     request.addvalue("application/json", forhttpheaderfield: "accept")      var task = session.datataskwithrequest(request, completionhandler: {data, response, error -> void in         println("response: \(response)")         var strdata = nsstring(data: data, encoding: nsutf8stringencoding)         println("body: \(strdata)")         var err: nserror?          let jsonstring = self.jsonstringify(exportlist)         println(jsonstring)          var json = nsjsonserialization.jsonobjectwithdata(data, options: .mutableleaves, error: &err) as! nsarray         // var json = nowrappedjson!         // did jsonobjectwithdata constructor return error? if so, log error console         if(err != nil) {             println(err!.localizeddescription)             let jsonstr = nsstring(data: data, encoding: nsutf8stringencoding)             println("error not parse json: '\(jsonstr)'")         }         else {             // jsonobjectwithdata constructor didn't return error. but, should still             // check , make sure json has value using optional binding.             singlecode in json {                 if let parsejson = singlecode as? nsdictionary {                     // okay, parsedjson here, let's value 'success' out of                     var success = parsejson["code"] as? string                     println("succes: \(success)")                 }                 else {                     // woa, okay json object nil, went worng. maybe server isn't running?                     let jsonstr = nsstring(data: data, encoding: nsutf8stringencoding)                     println("error not parse json: \(jsonstr)")                 }             }         }      })      task.resume() } 

the code enters fatal error:

unexpectedly found nil while unwrapping optional value

var json = nsjsonserialization.jsonobjectwithdata(data, options: .mutableleaves, error: &err) as! nsarray 

with error

i not sure how fix, or wrong either json format or server?