2016-03-24 24 views
1

Hızlı ve json ile çalışmak için hala oldukça yeniyim ve şu satırlarla mücadele ediyorum ve hata mesajı alıyorum: param = jsonObj.dataUsingEncoding (NSUTF8StringEncoding). hatadır: - tipi değeri 'dize: NSString' kimse bana yardımcı olmak ve sorun ben çok takdir ediyorum ne olduğunu söylerseniz hiçbir dataUsingEncodingSwift 2 & json gönderi sorunu

 let url = "{URLADDRESS/PHP FILE}" 
     let request = NSMutableURLRequest(URL: NSURL(string: url)!) 
     let session = NSURLSession.sharedSession() 
     let jsonObj = ["usEmail":email, "usFullName":name, "usAddress":address, "usArea/District":area, "usPostTown":town, "usPostZip":zip, "usContactNum":number] 

     request.HTTPMethod = "POST" 

     request.addValue("application/json", forHTTPHeaderField: "Content-Type") 
     request.addValue("application/json", forHTTPHeaderField: "Accept") 

     do { 
      let param = jsonObj.dataUsingEncoding(NSUTF8StringEncoding) 
      request.HTTPBody = try NSJSONSerialization.dataWithJSONObject(jsonObj, options: []) 
     } catch { 
      print(error) 
      request.HTTPBody = nil 
     } 

sahiptir. sözlük, ama bir dize:

cevap

0

yöntem .dataUsingEncoding String türü için var olan

sayesinde, bir [NSString dize] yapmak zorunda. Yani böyle yapmak var:

sonucu: XCode playground example

let email = "@gmail" 
let name = "Kostia" 
let address = "Home" 
let area = "UA" 
let town = "Kiev" 
let zip = "11111" 
let number = "123456" 

let stringJson = "{\"usEmail\":\"\(email)\",\"usFullName\":\"\(name)\",\"usAddress\":\"\(address)\",\"usArea/District\":\"\(area)\",\"usPostTown\":\"\(town)\",\"usPostZip\":\"\(zip)\",\"usContactNum\":\"\(number)\",}" 
let data = stringJson.dataUsingEncoding(NSUTF8StringEncoding)! 
do { 
    let jsonObj = try NSJSONSerialization.JSONObjectWithData(data,  options: []) as? [String:String] 
} catch (let error as NSError) { 
    print("ERROR be like: ", error) 
}