2016-03-24 11 views
1

私はまだswiftとjsonで作業するのがかなり新しく、次のように苦労して、行にエラーメッセージが表示されます。let param = jsonObj.dataUsingEncoding(NSUTF8StringEncoding)。エラーがある: - 型の値「文字列:NSStringのは、」誰も私を支援し、問題は、私はそれを非常に感謝しているものを伝えることができれば何dataUsingEncodingSwift 2&jsonポスト発行

 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 
     } 

を持っていません。辞書が、文字列:

答えて

0

方法.dataUsingEncodingは、String型のために存在している

おかげで、あなたはありません[NSStringの文字列]をしなければなりません。 だから、あなたはこのようにそれを行うあります

結果: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) 
}