Swift 2 & json post 问题

Swift 2 & json post issue

我对使用 swift 和 json 还是很陌生,我正在努力解决以下问题并收到一条错误消息:let param = jsonObj.dataUsingEncoding( NSUTF8StringEncoding)。错误是:- 类型 'String : NSString' 的值没有 dataUsingEncoding

        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
        }

如果有人能帮助我并告诉我问题出在哪里,我将不胜感激。

谢谢

方法 .dataUsingEncoding 存在于 String 类型,你必须创建一个字符串而不是 [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)
 }