【问题标题】:Post a json using swift使用 swift 发布 json
【发布时间】:2015-07-31 16:18:05
【问题描述】:

我想向服务器发布一个 json。 json看起来像这样

{
   "user": {
       "email": "email",
       "password": "pass"
   }
}

这是我到目前为止所得到的,它不起作用。我有如何创建一个 json 对象以及如何发布它的问题。先感谢您。

    let myUrl = NSURL(string:"https://dev.jaloo.us/api/sessions.json")
    let postString:NSString = "email=\(username)&password =\(password)"
    let postData:NSData = postString.dataUsingEncoding(NSUTF8StringEncoding)!
    let request = NSMutableURLRequest (URL:myUrl!)
    request.HTTPMethod = "POST"
    request.HTTPBody = postData
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    request.addValue("application/json", forHTTPHeaderField: "Accept")
    var urlData: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: &responseError)

【问题讨论】:

    标签: json swift post http-post


    【解决方案1】:

    使用 NSJSONSerialization 从您的参数对象创建数据,您将能够按照您想要的方式进行操作。

    let postObject = [
        "user": [
            "email": "email",
            "password": "password"
        ]
    ]
    
    let data = try! NSJSONSerialization.dataWithJSONObject(postObject, options: NSJSONWritingOptions.PrettyPrinted)
    let request = NSMutableURLRequest (URL:myUrl!)
    request.HTTPMethod = "POST"
    request.HTTPBody = data
    

    【讨论】:

    • 让数据=试试! NSJSONSerialization.dataWithJSONObject(postObject, options: NSJSONWritingOptions.PrettyPrinted) 这行好像有些问题。
    • @user3822508 有什么问题?
    • @user3822508 啊。尝试!是 swift 2,所以如果你不使用 swift 2 它不会工作
    • @WillM。是的,我想这就是原因。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多