【发布时间】:2017-06-07 16:34:42
【问题描述】:
我需要发布如下所示的 JSON 数据:
{ “orders”:[ {“id”: 208, “quantity”: 1 },{“id”: 212, “quantity”: 2},{“id”: 202, “quantity”: 5}, ...etc ],“HHStatus”: “1 }
我有以下变量:
var orders : [ShoppingCart] = []
包含的数据为:
[Crash.ShoppingCart(drinkId:743,drinkName:“aqua”,drinkPrice:“2.26”,drinkQuantity:2),Crash.ShoppingCart(drinkId:715,drinkName:“yellow”,drinkPrice:“6.92”,drinkQuantity :1),Crash.ShoppingCart(drinkId:738,drinkName:“blue”,drinkPrice:“4.69”,drinkQuantity:2)]
...等
我可以使用以下方式发布请求:
for order in orders {
let orderId = order.drinkId
let orderQuantity = order.drinkQuantity
let parameters = ["orders": [["id": orderId, "quantity": orderQuantity]], "HHStatus": orderHHStatus!] as [String : Any]
let jsonData = try! JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted)
但是我想要整个订单,而不仅仅是一个 id 和一个数量,
我尝试过使用:
let orderId = orders.map { $0.drinkId }
let orderQuantity = orders.map { $0.drinkQuantity }
let parameters = ["orders": [["id": orderId, "quantity": orderQuantity]], "HHStatus": orderHHStatus!] as [String : Any]
let jsonData = try! JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted)
但后来我得到了这样的结果:
["HHStatus": "0", "orders": [["id": [743, 715, 738], "quantity": [2, 1, 2]]]]
如何在一个请求中发送所有 ID 和数量?
我不知道如何获得类似的东西:
["orders": [["id": orderId, "quantity": orderQuantity],["id": orderId, "quantity": orderQuantity], ["id": orderId, "quantity": orderQuantity]], "HHStatus": orderHHStatus!]
非常感谢您提供的任何帮助!
【问题讨论】: