【发布时间】:2019-01-28 15:56:21
【问题描述】:
我的 API 只接受单引号包裹的 JSON。喜欢:
'{"api_key":"key_api1234","api_secret":"asdfg","uniqueid":"LDM23564GQQP","password":"test1","pin":"94729"}'
我在这里和互联网上都找不到明确的答案。
我在 JSON 上尝试了许多语法更改。
let parameters = ["api_key": "key_api1234",
"api_secret": "asdfg",
"uniqueid": "LDM23564GQQP",
"password": "test1",
"pin": "94729"]
guard let url = URL(string: "https://dev-api.authenticateuser") 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()
我收到 500 错误
【问题讨论】:
-
邮政编码作为代码,而不是图像
-
转换成 JSON,然后给自己加上单引号怎么样?
-
顺便说一句,这是一个糟糕的 API,原因如下: 1. 声称它接受 json,但需要一个不是有效 json 的字符串 2. 不返回正确的错误代码
-
@larme 是的,看看我的回答,我努力做到了。
-
@mag_zbc 我同意。
标签: json swift dictionary encoding json-serialization