将json参数发布到api使用post方法Swift 3

Posted

技术标签:

【中文标题】将json参数发布到api使用post方法Swift 3【英文标题】:posting json parameter to api use post method Swift 3 【发布时间】:2017-05-27 04:57:17 【问题描述】:

我需要将以下 json 传递给此函数,以便 Shopify Api 可以理解提交。我无法创建正确的变量格式并将其传递给服务器。Shopify API 期望通过 POST 传递以下 json

【问题讨论】:

【参考方案1】:

将 REQUEST_URL 替换为您的 API URL

将 JSON_STRING 替换为您的实际 json 字符串

var request = URLRequest(url: URL(string: "REQUEST_URL")!)
request.httpMethod = "POST"
let postString = "JSON_STRING" 
request.httpBody = postString.data(using: .utf8)
let task = URLSession.shared.dataTask(with: request)  data, response, error in
guard let data = data, error == nil else                                                  // check for fundamental networking error
    print("error=\(error)")
    return


if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200            // check for http errors
    print("statusCode should be 200, but is \(httpStatus.statusCode)")
    print("response = \(response)")


let responseString = String(data: data, encoding: .utf8)
   print("responseString = \(responseString)")

task.resume()

将您的对象转换为字典,然后将其序列化

   do
        let data = try JSONSerialization.data(withJSONObject: dict, options: [])
        postString = String.init(data: data, encoding: String.Encoding.utf8)!
    catch
        print(error)
    

【讨论】:

parth 你能告诉我如何在 'let poststring = "Json_strong" 中设置我的 json 字符串吗?? 你有你的数据或对象的json字符串吗? 对象parth兄弟 然后你可以将你的对象转换成字典形式,然后使用json序列化进行序列化

以上是关于将json参数发布到api使用post方法Swift 3的主要内容,如果未能解决你的问题,请参考以下文章

如何将json POST数据作为对象传递给Web API方法?

使用 JSON 格式的 POST 方法 web api 将动态输入提交到数据库

从 Typescript POST 到 Web API API,无法传递 JSON 对象

使用 Fetch API 将数据发送到 PHP 服务器(首选 POST 方法和 JSON)

将多个对象从Angular控制器POST到Web API 2

使用 Alamofire 将 JSON 对象作为 post 参数发送