在 Swift 中将数组转换为 Alamofire 参数
Posted
技术标签:
【中文标题】在 Swift 中将数组转换为 Alamofire 参数【英文标题】:Convert array into Alamofire parameters in Swift 【发布时间】:2018-10-15 06:17:10 【问题描述】:我正在使用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]
??
【问题讨论】:
对于相同的参数键,您要发送然后使用Alomofire的多部分格式。 【参考方案1】:检查以下代码:
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
希望这会对你有所帮助。
【讨论】:
这完美地工作。谢谢你帮助澄清这一! SPAN>以上是关于在 Swift 中将数组转换为 Alamofire 参数的主要内容,如果未能解决你的问题,请参考以下文章
在 Alamofire Swift 3 中将数组作为参数发送
在 Swift 中将 Alamofire 结果解析为对象(使用:Alamofire、SwiftyJSON 和 ObjectMapper)