我正在使用 Alamofire
调用外部 API 上的 .put 方法。在 Postman 中,我可以按以下格式成功传递原始 JSON
数据,其中每个项目都包含一个 ID 和数量。 :
[{
"id":"176",
"quantity":"2"
}, {
"id":"178",
"quantity":"1"
}]
cURL 示例:
PUT /cart HTTP/1.1
Host: someapi.biz
x-api-key: somekey
x-auth-token: sometoken
Content-Type: application/json
cache-control: no-cache
Postman-Token: sometoken
[{
"id":"176",
"quantity":"2"
}, {
"id":"178",
"quantity":"1"
}]------WebKitFormBoundary7MA4YWxkTrZu0gW--
我很快就无法弄清楚如何将此信息正确格式化为 Alamofire 的一组参数。
for item in OrderedItems {
let rowItem: JSON = ["id" : item.ID, "quantity" : item.Quantity]
??
}
最佳答案
检查下面的代码:
var arrParam = [Any]()
for item in OrderedItems
{
let rowItem: JSON = ["id" : item.ID, "quantity" : item.Quantity]
arrTemp.append(rowItem)
}
// Convert Array into JSON String (Raw)
guard let data = try? JSONSerialization.data(withJSONObject: arrParam, options: []) else {
return
}
let paramString = String(data: data, encoding: String.Encoding.utf8)
var request = URLRequest(url: URL(string: "URL")!)
request.httpMethod = HTTPMethod.put.rawValue
request.httpBody = paramString?.data(using: .utf8)
Alamofire.request(request).responseJSON { (response) in
}
希望这对您有帮助。
关于ios - 在 Swift 中将数组转换为 Alamofire 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52810713/