如何正确地将Swift词典转换为json并发布帖子请求?

时间:2017-05-20 19:08:36

标签: json swift post

这是发布帖子请求,但是它将json视为一个字符串,它在服务器上显示为(stuff):''。我不知道如何解决它。 (当我使用python实现它时,它是完美的。)

    let json: [String: Any] = ["id": 1, "checksum": "hey"]

    let jsonData = try? JSONSerialization.data(withJSONObject: json)

    /*print(jsonData!)
    let parsedData = try? JSONSerialization.jsonObject(with: jsonData!, options: [])
    print(parsedData!)*/
    //print(parsedData)


    // create post request
    let url = URL(string: "http://10.240.81.23:3000/updateProfile")!
    var request = URLRequest(url: url)
    request.httpMethod = "POST"

    // insert json data to the request
    request.httpBody = jsonData

    let task = URLSession.shared.dataTask(with: request) { data, response, error in
        guard let data = data, error == nil else {
            print(error?.localizedDescription ?? "No data")
            return
        }
        let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
        if let responseJSON = responseJSON as? [String: Any] {
            print(responseJSON)
        }
    }

    task.resume()

1 个答案:

答案 0 :(得分:0)

考虑使用Alamofire进行网络连接,它非常易于使用且效果很好。另外SwiftyJSON使JSON解析和操作变得非常容易且可选择安全。

您可以使用Carthage轻松安装这两个框架。