我对Swift非常陌生,在我的应用程序中,我正在尝试执行POST请求。在swift 3中的多个参数的HTTP POST请求
网址看起来像下面
下面是我的代码
let parameters = ["/uid/": "12234353", "/hash/": "9530cf040a49fba786100a44f913ad25", "/preset/":"986tzugh76rtzu00fg"]as Dictionary<String, String>
guard let url = URL(string: "https://example.com/login/auto/") else { return }
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: []) else { return }
request.httpBody = httpBody
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
if let response = response {
print(response)
}
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
} catch {
print(error)
}
}
}.resume()
我收到以下错误
错误域= NSCocoaErrorDomain代码= 3840“JSON文本没有从数组或对象开始并选择允许片段未设置的选项。“
任何人都可以帮助我在代码中做错了什么,我怕我没有正确地发送多个参数。
如果可能的话,我会很感激你的答案。
感谢您的答复。我刚刚编辑了我的问题,纠正了重复的参数问题后,我得到了同样的错误。 –
你的'/ preset /'的值不是'String',所以不应该编译。试试这个let参数= [“/ uid /”:“12234353”,“/ hash /”:“9530cf040a49fba786100a44f913ad25”,“/ preset /”:“986tzugh76rtzu00fg”] Dictionary' –
非常感谢回复,请你看看我的评论上面的其他答案,我真的很感谢一些帮助 –